Горшочек — вари. Gift анимация в Telegram.
Горшочек — вари. Анимация NFT подарков в Telegram.
336 открытий2К показов

С появлением NFT-подарков (gift) в Telegram у пользователей и разработчиков возникло множество вопросов, связанных с их интеграцией и отображением. Поскольку нововведение базируется на TON, многие аспекты требуют технического понимания и навыков работы с экосистемой мессенджера. В этой статье расскажу, как отображать анимацию NFT-подарков в ваших приложениях, а также поделюсь своим опытом работы с TON Blockchain Explorer, интегрированным в Telegram.
Как отображать анимацию NFT-подарков?
Для начала рассмотрим контракт, который содержит данные о NFT-подарке:
0:3a4f57aded85be8f7d1651b8e9d7749662014e08f6bcd3afaf2175c83188a7da
Из этого контракта можно получить всю необходимую информацию: атрибуты, описание и т.д. Эти данные можно запросить через API или вручную, нажав кнопку More в интерфейсе:
Там мы видим ссылочку с поясняющим ключом и именем:
Что именно мы из этого узнаём? Что анимация хранится в виде lottie.
Эта информация очень полезна, так как с помощью нее мы сможем отображать и свою анимацию. Но как это сделать?
Как отобразить анимацию в вашем приложении?
Lottie — библиотека, разработанная компанией Airbnb. Позволяет отображать анимации в формате JSON, созданные с помощью AdobeAfter Effects. Благодаря Lottie разработчикам можно легко интегрировать высококачественные анимации в мобильные и веб-приложения, обеспечивая плавность и масштабируемость без значительного увеличения размера.
Применим на практике. Отобразить анимацию в вашем web. или TMA приложении проще простого, через библиотеку lottie-web.
В этом случае код будет выглядеть так:
Под разные языки есть также библиотеки для работы с форматом. Однако, в некоторых случаях, людям приходят странные идеи конвертировать анимацию:
- через ffmpg в mp4 (больший размер);
- покадрово в gif (потеря качества и размера);
- через webview.
Моя задача состоит же в отправке анимации пользователю непосредственно в Telegram. Логично, что формат хранения в Lottie
выбран не просто так. Довольно много NFT хранятся в mp4, gif, webm.
Разгадка кроется не только в компактном размере данного формата, но и в устройстве Telegram стикеров.
Для решения задачи используем следующую схему:
- загружаем https://nft.fragment.com/gift/hexpot-10348.lottie.json;
- сжимаем в gzip;
- отправляем в Telegram, например, в виде документа.
На golang это может выглядеть так:
Как мы видим, это лишь немного сложнее, чем отправить обычную картинку.
Для разработчиков, использующих TON и интеграцию в Telegram, освоение работы с Lottie открывает новые возможности для создания интерактивных анимаций. Если вы только начинаете свой путь в этой сфере или уже имеете опыт, важно продолжать изучать документацию и экспериментировать с доступными инструментами, чтобы оставаться в тренде и предлагать пользователям лучшие решения.
P.s. Всегда готов ответить на ваши вопросы. Пишите в тг @apitonDev.
336 открытий2К показов