Статьи

Введение в расширения сообщений на iOS

Что такое расширения?

Пару лет назад, в 2014 году, выпустив iOS 8, Apple представила Extensions Framework . Затем я предположил, что платформа будет играть важную роль, предоставляя функциональные возможности в будущих выпусках iOS и OS X. Как оказалось, Apple делает именно это в последние пару лет. В этом году они добавили поддержку для создания расширений iMessage.

Каждый раз, когда Apple добавляет новые точки расширения, они всегда были совместимы с последующими выпусками. Например, расширение виджета Today, которое используют многие люди, по-новому выглядит в iOS 10, но разработчикам не нужно обновлять свои расширения Today, которые они написали в предыдущих версиях iOS. Несмотря на то, что Apple никогда не упоминала, что это всегда будет так, я ожидаю, что это будет верно и в будущих выпусках iOS. Таким образом, расширения iMessage, которые вы пишете сегодня, вероятно, будут работать в будущих выпусках iOS.

Помимо iMessage, на рынке появляются и другие приложения для обмена сообщениями. Примечательно, что WeChat и LINE популярны в Китае и Японии. Некоторые из них имеют элементарную поддержку расширений обмена сообщениями, например, поддержку покупок через WeChat. LINE опубликовал множество приложений под маркой LINE, которые предоставляют дополнительные функции поверх своего приложения для обмена сообщениями. Похоже, что расширение iMessage следует по пути, проложенному другими сторонними приложениями для обмена сообщениями, но когда поставщик операционной системы сам предоставляет функцию, он будет более тесно интегрирован с системой.

Со стороны macOS не похоже, что многие функции в расширениях iMessage поддерживаются. Мы можем только просматривать стикеры на macOS. Нередко некоторые расширения поддерживаются только на одной платформе, а не на другой. В прошлом это происходило с пользовательским расширением клавиатуры.

Создание приложений iMessage

Существует два основных способа создания приложения iMessage: автономное или расширение для приложения iOS. Это почти одно и то же, главное отличие: если вы создаете отдельное приложение, ваше приложение будет отображаться только в магазине приложений для сообщений, если оно является расширением для приложения iOS, оно будет отображаться в магазине приложений для сообщений, а также основной магазин приложений.

В Xcode 8 и выше вы можете удобно создать новое Приложение iMessage или Стикер, который включает предварительно заполненные шаблоны. Вы также можете получить эти шаблоны с помощью File -> New -> Target …, если вы создаете расширение. Apple опубликовала множество подробных руководств по деталям каждого API, который вы можете использовать в iMessage Apps. Если вы писали приложения и расширения для iOS, это довольно просто. Основные моменты, на которые стоит обратить внимание:
— Приложения iMessage активируются из подкласса MSMessagesAppViewControllerUIViewController
— Ожидайте willBecomeActive(with conversation: MSConversation)didResignActive(with conversation: MSConversation)
— Ожидайте, что willTransition(to presentationStyle: MSMessagesAppPresentationStyle)

Creating new iMessage Application target

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

Сборка наклеек

Apple включила еще одну точку расширения в приложение Messages, которая является расширением Stickers Pack. Это гораздо более простая версия приложения iMessage, где можно упаковать их стикеры iMessage без единой строчки кода. Да, вы правильно прочитали, ни одной строки кода.

Единственными требованиями при публикации приложения стикеров iMessage являются:
— Изображение должно быть в формате PNG, APNG, GIF или JPEG.
— Файл должен быть менее 500 КБ.
— Для достижения наилучших результатов изображение должно быть не меньше 100 х 100 точек или больше 206 х 206 точек.

Если вы просто хотите опубликовать свои каракули и никогда раньше не открывали Xcode, вам не понадобится больше часа, чтобы пройти процедуру. Черт, подписание приложения и загрузка в iTunes Connect могут занять больше времени, чем само приложение.

И наконец, если вы считаете, что это всего лишь сторона основного приложения iMessage, подумайте об этом: Super Mario Run, первое iOS-приложение Nintendo, выпустило стикер iMessage для продвижения своей игры для iOS. Он долгое время находился на верхнем графике и сумел заставить людей узнать о запуске своей игры задолго до того, как игра будет готова. Кроме того, LINE заработал $ 270 млн в прошлом году в 2016 году только от продажи наклеек в своем магазине наклеек.

iMessage App Store

Доступ к iMessage App Store можно получить только из приложения Сообщения. Забавно, что вы можете войти в iMessage App Store только из представления разговоров. Если вы никогда ни с кем не связывались, вы не можете попасть в iMessage App Store. Магазин — это отдельный магазин от основного App Store, но все обновления стикеров проходят через главное приложение App Store.

Когда вы отправляете приложение iMessage кому-то, у кого оно не установлено, в iMessage App Store будет ссылка на это расширение. Я думаю, что именно так люди будут открывать новые приложения и стикеры iMessage.

Интересные приложения iMessage

С момента выхода iOS 10 появилось несколько интересных приложений iMessage, в том числе от Apple. Например, Apple Music имеет расширение iMessage, которое позволяет нам делиться тем, что мы слушаем, и позволяет получателю слушать песню, даже если они не являются подписчиками Apple Music.

Другой интересный и неожиданно популярный тип расширения iMessage — игры, а именно пошаговые игры для двух игроков. Мы видели довольно много подобных игр в первые дни iOS, но похоже, что расширение iMessage перенесло игры людей с их домашнего экрана в приложение для обмена сообщениями, которое они могут видеть чаще, чем второе или третье. страница их домашнего экрана. Words With Friends, популярная игра для iOS, в которую играют миллионы людей по всему миру, включая бывшего президента США Барака Обаму , выпустила приложение iMessage, которое является мини-версией их игры. В течение многих недель после запуска он доминировал на верхней диаграмме в iMessage App Store. Есть и другие пошаговые многопользовательские игры, которые оказались успешными в верхней таблице iMessage App Store.

Наконец, есть неожиданно умные приложения для сообщений, такие как Phoneys и Grammar Snob . Phoneys имитирует пузыри iMessage и сделал так, чтобы ваш друг отправлял вам лестные сообщения. У Grammar Snob умно есть наклейки с грамматическими исправлениями, которые вы можете поместить в грамматически некорректные сообщения. Вскоре после запуска Phoneys был извлечен из магазина приложений App Store для имитации дизайна сообщений Apple.

Заключительные слова

Похоже, что Apple с самого своего появления в iOS 8 активно развивала платформу iOS Extensions. Мы увидели необычное добавление инфраструктуры расширений в iOS 10 с платформой расширений iMessage. Расширения iMessage могут быть или не быть неотъемлемой частью бизнеса вашего приложения. Но похоже, что сама структура расширения будет продолжать расти, поскольку мы видим новые выпуски iOS.

Для получения подробной информации о реализации, мы рекомендуем вам посмотреть приложения и стикеры iDCess видео WWDC, части 1 и 2.