MAX Bridge — библиотека для взаимодействия мини-приложений с MAX | Мои друзья
Открыть в MAX

MAX Bridge

MAX Bridge — это JavaScript-библиотека, которая позволяет твоему мини-приложению общаться с мессенджером MAX. Без Bridge твоё приложение — просто веб-страница в вакууме. С Bridge — полноценный участник экосистемы MAX.

Что такое MAX Bridge?

Технически Bridge — это прослойка между твоим веб-приложением и нативным API MAX. Она предоставляет JavaScript-методы для выполнения действий на стороне мессенджера: получить данные пользователя, отправить сообщение в чат, закрыть приложение и другие.

Библиотека подключается одним тегом <script> и доступна через глобальный объект MaxBridge. Никаких npm-пакетов или сборщиков — работает прямо в браузере.

Инициализация

Перед использованием Bridge нужно инициализировать. Это асинхронная операция — она устанавливает связь с нативной частью MAX и получает начальные данные:

app.js
// Создаём экземпляр Bridge
const bridge = new MaxBridge();

// Инициализируем и получаем данные
bridge.init().then(data => {
    console.log('Пользователь:', data.user);
    console.log('Тема:', data.theme);
}).catch(err => {
    console.error('Ошибка инициализации:', err);
});
💡 Совет: Всегда вызывай init() до любых других методов Bridge. Я для надёжности оборачиваю всю логику приложения в init().then(...) — тогда точно ничего не вызовется раньше времени.

Основные методы

Получение данных пользователя

После инициализации объект data.user содержит базовую информацию о пользователе:

  • user.id — уникальный идентификатор пользователя в MAX
  • user.first_name — имя
  • user.last_name — фамилия (может отсутствовать)
  • user.username — никнейм
  • user.language_code — язык интерфейса (например, "ru")

Получение темы оформления

Поле data.theme сообщает, какая тема активна у пользователя: "light" или "dark". Это позволяет адаптировать дизайн мини-приложения под интерфейс MAX:

theme.js
bridge.init().then(data => {
    const isDark = data.theme === 'dark';
    document.body.classList.toggle('dark-theme', isDark);
});

Отправка данных в чат

Bridge позволяет отправить данные обратно в чат, из которого было открыто мини-приложение. Это полезно для игр, опросов и любых сценариев, где результат нужно передать боту. Подробнее о доступных методах — в разделе API.

Закрытие мини-приложения

Чтобы закрыть мини-приложение и вернуться в чат:

close.js
// Закрываем мини-приложение
bridge.close();
⚠️ Важно: Не злоупотребляй закрытием приложения без предупреждения. Если пользователь заполнил форму и случайно нажал не ту кнопку, а приложение сразу закрылось — это бесит. Показывай диалог подтверждения перед close().

Дополнительные возможности

Bridge также поддерживает:

  • Вибрацию — тактильный отклик на действия пользователя
  • Сканирование QR-кодов — открытие встроенного сканера MAX
  • Запрос геолокации — с согласия пользователя
  • Открытие ссылок — во встроенном браузере MAX

Конкретные сигнатуры методов и параметры смотри в официальной API-документации — я не буду дублировать то, что может измениться в следующем обновлении MAX.

Что дальше?

После того как разобрался с Bridge, самое время подумать о безопасности. Переходи к разделу «Валидация данных» — там я расскажу, как проверять initData на сервере и защищать приложение от подделки запросов.

🔌

Хочешь увидеть, как работает интеграция?

Посмотри на живом примере, как бот «Мои друзья» использует интерактивные клавиатуры и колбэки. Это поможет понять, где нужны мини-приложения, а где достаточно inline-кнопок.

Открыть бота «Мои друзья»