Что нового в Telegram Bot API 8.0?
Вышло масштабное обновление Telegram Bot API 8.0, которое стало одним из крупнейших за последнее время. Оно добавило сразу несколько революционных возможностей для Mini Apps и ботов, включая платные подписки, полноэкранный режим, и многое другое. Подробности в посте.
Реклама
Telegram Bot API 8.0 приносит множество возможностей для улучшения работы Mini Apps и ботов, включая поддержку подписок, управление полноэкранным режимом, добавление приложений на главный экран и многое другое. В этой статье рассмотрим ключевые изменения и их применение.
1. Звёздные подписки: новый уровень монетизации
Теперь боты могут предлагать платные подписки, используя Telegram Stars. Это позволяет разработчикам добавлять уровни доступа к контенту и функциям.
Новые возможности:
- Периодические счета: новый аргумент
subscription_period
в методеcreateInvoiceLink
позволяет создавать ссылки для регулярной оплаты. - Бизнес-счета: новый аргумент
business_connection_id
в методеcreateInvoiceLink
добавляет поддержку выставления счетов от имени бизнес-аккаунтов. - Новые поля в платежах: добавлены новые поля
subscription_expiration_date
,is_recurring
иis_first_recurring
в классSuccessfulPayment
. - Управление подписками: новый метод
editUserStarSubscription
позволяет изменять параметры подписки. - Поддержка подписок: новое поле
subscription_period
добавлено в классTransactionPartnerUser
.
2. Полноэкранный режим для Mini Apps
Теперь Mini Apps могут запускаться в полноэкранном режиме как в портретной, так и в альбомной ориентации, что идеально подходит для игр, просмотра видео и создания более захватывающих интерфейсов.
Подробности:
- Управление полноэкранным режимом: новые методы
requestFullscreen
иexitFullscreen
в классеWebApp
позволяют активировать и выходить из полноэкранного режима. - Учет безопасных зон экрана: новые поля
safeAreaInset
иcontentSafeAreaInset
добавлены в классWebApp
, чтобы содержимое Mini App корректно отображалось на устройствах с вырезами или закругленными краями. - Новые события для управления интерфейсом: новые события
activated
,deactivated
,safeAreaChanged
,fullscreenChanged
иfullscreenFailed
обеспечивают обработку изменений состояния Mini App. - Также в класс
WebApp
были добавлены поляisActive
иisFullscreen
.
3. Быстрый доступ с главного экрана
Mini Apps могут создавать ярлыки на главном экране устройства, что упрощает доступ к приложениям и ускоряет взаимодействие.
Добавленные функции:
- Создание ярлыков: новый метод
addToHomeScreen
в классеWebApp
позволяет пользователям добавлять Mini App на главный экран. - Проверка поддержки: новый метод
checkHomeScreenStatus
в классеWebApp
помогает определить, можно ли создать ярлык на текущем устройстве. - События для мониторинга: событие
homeScreenAdded
подтверждает успешное добавление ярлыка, аhomeScreenChecked
фиксирует проверку совместимости.
4. Поддержка статусов эмодзи
Mini Apps могут предлагать пользователям установить статус с эмодзи, связанный с приложением, или синхронизировать его с другими сервисами.
Новые возможности:
- Установка статуса через бота: новый метод
setUserEmojiStatus
в классеWebApp
позволяет ботам обновлять статус эмодзи при разрешении пользователя. - Синхронизация в Mini Apps: новый метод
setEmojiStatus
в классеWebApp
позволяет пользователю подтвердить изменение статуса через интерфейс приложения. - Запрос разрешения: новый метод
requestEmojiStatusAccess
в классеWebApp
позволяет Mini Apps получить право на изменение статуса через метод Bot APIsetUserEmojiStatus
. - События эмодзи статусов: новые события
emojiStatusSet
,emojiStatusFailed
иemojiStatusAccessRequested
позволяют отслеживать процесс установки эмодзи статуса.
5. Шеринг медиа и загрузка файлов
Mini Apps получили возможность делиться контентом из приложения напрямую в Telegram-чаты или постить в сторис.
Новые функции:
- Подготовка сообщений: новый класс
PreparedInlineMessage
и методsavePreparedInlineMessage
позволяют ботам предлогать пользователю отправить сообщение из Mini App используя методshareMessage
. - Шеринг в чаты: новый метод
shareMessage
в классеWebApp
позволяет отправить медиа или текст из Mini App в чат Telegram. - Загрузка файлов: новый метод
downloadFile
в классеWebApp
добавляет поддержку скачивания файлов с отображением встроенного всплывающего окна. - События отслеживания отправки сообщения: добавлены новые события
shareMessageSent
,shareMessageFailed
иfileDownloadRequested
для управления состоянием отправки сообщения.
6. Геолокация
Mini Apps могут запросить доступ к геолокации пользователей, что открывает новые возможности для игр, карт и сервисов на основе местоположения.
Новые возможности:
- Менеджер геолокации: новое поле
LocationManager
добавлено в классWebApp
для обработки запросов геоданных. - События: новое событие
locationManagerUpdated
фиксирует изменения геолокации, аlocationRequested
позволяет запросить местоположение пользователя.
7. Отслеживание движения устройства
Теперь Mini Apps могут обрабатывать данные о движении устройства, улучшая взаимодействие с VR, AR и другими интерактивными сценариями.
Новые функции:
- Сенсоры устройства: новые поля
Accelerometer
,Gyroscope
иDeviceOrientation
добавлены в классWebApp
- Управление ориентацией: новые методы
lockOrientation
иunlockOrientation
в классеWebApp
позволяют управлять ориентацией экрана. - События сенсоров: новые события
accelerometerStarted
,accelerometerStopped
,accelerometerChanged
,accelerometerFailed
,deviceOrientationStarted
,deviceOrientationStopped
,deviceOrientationChanged
,deviceOrientationFailed
,gyroscopeStarted
,gyroscopeStopped
,gyroscopeChanged
иgyroscopeFailed
фиксируют изменения показаний сенсоров.
8. Подарки через Telegram Stars
Боты могут отправлять пользователям подарки за Telegram Stars, добавляя новый способ взаимодействия.
Подробности:
- Каталог подарков: новые классы
Gift
иGifts
, а также методgetAvailableGifts
позволяют получать доступ к доступным подаркам. - Отправка подарков: новый метод
sendGift
добавляет возможность отправлять выбранные подарки пользователям. - Отображение в транзакции: добавлено новое поле
gift
в классеTransactionPartnerUser
для отображения подарка в транзакции пользователя.
9. Кастомизация загрузочного экрана
Mini Apps теперь могут настраивать внешний вид загрузочного экрана, включая цвета и иконки для светлой и темной тем.
Эти настройки доступны в @BotFather через:
Bot Settings > Configure Mini App > Enable Mini App
10. Аппаратные оптимизации
MIni App, работающие на Android, теперь могут получать базовую информацию об аппаратном обеспечении устройства, что позволяет им оптимизировать работу пользователя в зависимости от возможностей устройства.
Это включает в себя: информацию об операционной системе, приложении и SDK соответствующих версий, а также о модели устройства и классе производительности.
Прочие изменения
- Добавлено поле
photo_url
в классWebAppUser
для доступа к аватару пользователя. - Новые опции для отладки Mini Apps на устройствах iOS.
- Третьи стороны (например, разработчики MIni App), которые получают или обрабатывают данные от имени MIni App, теперь могут проверять их, не зная токена бота приложения.
- Сообщения с видео, отправляемые в крупные группы и каналы, могут быть автоматически отложены до завершения перекодирования (вступает в силу с 1 декабря 2024 года).
Обновление выглядит внушительно! С нетерпением ждём обновления библиотеки AIOgram с поддержкой новых функций.
Все статьи