Русский
Русский
English
Статистика
Реклама

Как мы делаем App Clips?

App Clips это облегченные версии приложения для iOS 14, которые позволяют людям быстро выполнять определенную задачу, не скачивая и не устанавливая его полную версию из App Store. Компания Apple анонсировала такие мини-приложения на всемирной конференции для разработчиков WWDC 2020. Мы в Rambler Group одними из первых попробовали App Clips для приложений Рамблер/кассы.




Как работают App Clips

App Clip это часть полного приложения (по правилам Apple App Clips не могут превышать 10 МБ), заточенная на выполнение определенной задачи. Например, заказ еды, покупка билета, бронирование гостиницы и т.д. При этом App Clips не надо устанавливать достаточно просто запустить по ссылке.

Мини-приложения не сохраняются на домашних экранах смартфона или планшета iOS, а размещаются в Библиотеке приложений. Через 30 дней с момента последнего запуска они автоматически удаляются с устройства. Для удобства пользователей в App Clips есть возможность добавить поддержку Apple Pay и вход через Apple ID для быстрой авторизации и оплаты услуг и товаров без регистрации, ввода дополнительной информации и номера банковской карты.



Также Apple сделала множество вариантов запуска App Clips как в офлайне, так и в онлайне:

  • фирменная метка App Clips
  • NFC-метка
  • QR-код
  • URL-ссылка
  • баннер
  • Apple Maps
  • Siri.




При этом App Clips используют такую же кодовую базу, что и основное приложение, а по своему формату больше похожи на плагин или контейнер.

Краткое руководство по добавлению App Clips в Рамблер/кассу

В этой статье мы хотим рассказать о некоторых нюансах создания App Clips для приложений Рамблер/кассы.

Для интеграции мини-приложения на данный момент у нас выработан алгоритм:

1. Необходимо добавить target AppClip в проект, при этом указав целевой проект родительским (в нашем случае target Kassa).
2. Добавить при необходимости нужные pod'ы, указав их для конкретного target в Podfile (выполнить pod install).
3. В настройках таргета App Clips нужно перейти на вкладку Signing & Capabilities и в секции Associated Domains добавить домен вида appclips:{домен ссылки, которая будет открывать App Clips}. В случае Рамблер/кассы это appclips:kassa.rambler.ru и appclips:m.kassa.rambler.ru.
4. Указать версию и билд для target с App Clips, которые идентичны версии и билду родительского таргета.
5. Обработать входящие url для App Clips и реализовать навигацию для App Clips в методе, согласно документации Apple
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void -> Bool.
6. Собрать архив с приложением (оно должно автоматически включать App Clips) и отправить его в AppStore.
7. Вы великолепны!

Ссылки и открытие экранов

После того как пользователь нажимает Открыть AppClip/Приложение на всплывающем экране с App Clips, срабатывает метод:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool

В userActivity.webpageURL лежит URL-ссылка, которую мы зашивали в качестве ссылки для App Clips.

После этого на основе параметров из этой ссылки откроется нужный экран приложения.

Виды ссылок

В данный момент App Clips Рамблер/кассы поддерживает три сценария покупки билетов:
  • открытие экрана деталей конкретного мероприятия;
  • открытие экрана деталей конкретного места;
  • открытие экрана конкретного сеанса для конкретного мероприятия.

Для тестирования мы взяли рабочие ссылки на ивенты, доступные на Рамблер/кассе с различными параметрами.

1. Мероприятие. В качестве вводных параметров взяли creationid, cityid, creationtype:
m.kassa.rambler.ru/msk/movie/100547?creationid=100547&cityid=2&creationtype=movie

Ссылка открывает экран деталей мероприятия, окружение идентично покупке билета в полноценном приложении, за исключением следующих вещей:
  • на экране с деталями мероприятия отсутствует кнопка добавления в избранное;
  • отсутствует отображение видео на деталях мероприятия.


2. Место. В качестве вводных параметров взяли placeid, cityid, creationtype:
m.kassa.rambler.ru/msk/cinema/formula-kino-cdm-54351?placeid=97417&cityid=2&creationtype=movie

Ссылка открывает экран деталей места, окружение идентично покупке билета в полноценном приложении, за исключением:
  • на экране с деталями места отсутствует нижняя панель с функционалом навигации до места, добавления его в избранное и возможностью поделиться ссылкой.


3. Ссылка на конкретный сеанс. В качестве вводных параметров взяли sessionid:
m.kassa.rambler.ru/msk/concert/717293?cityid=2&sessionid=54293235

Ссылка открывает экран с конкретным сеансом (в виде таблицы или схемы зала), окружение идентично покупке билета в полноценном приложении.







Проблемы и решения

1. App Сlip запускается и падает

Проблема наблюдается при использовании сторонних pod'ов. При сборке продукта не копируются библиотеки в конечную директорию. Причина отсутствие скрипта в Build Phases.

Для решения этой проблемы необходимо добавить скрипт (назовем его [CP] Embed Pods Frameworks):

${PODS_ROOT}/Target Support Files/Pods-{здесь имя таргета с апклипсом}/Pods-{здесь имя таргета с апклипсом}-frameworks.sh

В случае Рамблер/кассы скрипт выглядит так:
${PODS_ROOT}/Target Support Files/Pods-KassaAppClip/Pods-KassaAppClip-frameworks.sh

2. Сборка с App Clips собирается, архивируется и отправляется в AppStore, но приходит reject из-за веса приложения

В основном причиной этой проблемы являются какие-то большие ресурсы и сторонние библиотеки.

Одним из решений, позволяющим уменьшить размер библиотеки в целевом архиве, является включение Bitcode (Build Settings/Build Options/Enable Bitcode).

3. В App Clips метод UIDevice.current.identifierForVendor возвращает 000000-0000-000000.....

Это связано с особенностью App Clips: Apple ограничила доступ к идентификатору из соображений безопасности. В App Clips Рамблер/кассы мы используем рандомно сгенерированную 32-значную соль.

Что в итоге?

App Clips хороший способ повышения конверсии для таких e-com-приложений, как Рамблер/касса. В плюсе остаются все:

  • пользователи могут быстро купить билет, не скачивая и не устанавливая основное приложение;
  • разработчикам приятно быстро реализовать возможность, которая позволит быть зафичеренными или засветиться на лендинге с презентацией новой iOS 14:

Источник: habr.com
К списку статей
Опубликовано: 18.12.2020 18:13:39
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании rambler group

Ios

Мобильные приложения

Apple

App clips

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru