В помощь мобильному разработчику

Создание игры для iOS 10 при помощи Message App Extensions

Александр Алексеев

 simulator-screen-shot-oct-19-2016-2-18-19-pmВ релизной версии iOS 10 Apple представила новую многообещающую функцию под названием Message App Extensions. Этот новый тип расширения может пересылать тексты, стикеры, медиафайлы, а также интерактивные сообщения, и, кроме этого, интегрироваться с приложением Messages, предоставляя пользователям новые функциональные возможности.

С помощью Message App Extensions различные типы контента могут использоваться совместно. И наиболее интересными здесь являются возможности Interactive Messages, которые позволяют запустив приложение прямо из Messages и создав там пользовательский контент, отправить его напрямую в Messages с помощью нового API-интерфейса Messages Framework. В этой статье мы рассмотрим принципы работы iMessage App Extensions, создав интерактивную игру под названием Monkey Tap.

 

Сознание первого iMessage App Extension

iMessage App Extension создаётся довольно легко. Используя мастера создания нового проекта (New Project), с помощью File -> New Solution, создайте Single View iOS-приложения. Затем добавьте еще один новый проект к этому решению, выбрав его в Pad Solution. В соответствии с шаблонами iOS, выберите пункт Extension menu, а затем iMessage Extension. Основное различие между этим и другими типами расширений заключается в том, что это не «проект-контейнер», поскольку приложение Message, которое мы создаем, само выступает в качестве контейнера.

capture

MSMessagesAppViewController

Message App Extensions позиционируется, как новый тип: MSMessagesAppViewController. Он работает достаточно привычным образом, но также привносит некоторые специфичные для сообщений понятия, которые нам необходимы. К примеру, класс MSConversation представляет собой цепочку сообщений, в которой мы находимся. Это удобно, поэтому что тогда мы знаем, куда отправлять сообщения. Теперь у нас появилась возможность создавать новый контроллер для обработки отображения баллов, заработанных в играх, благодаря которому мы можем отправлять эти данные пользователям в виде сообщений.

 

Помимо этого, кое-что интересное также происходит и во ViewDidLoad. Здесь создаётся MSMessage и используется для отправки счёта очков. Свойство Layout принимает значение MSMessageTemplateLayout. Эти свойства обрабатывают следующее:

 

Вот, как выглядит наше iMessage App Extension:

pasted-image-at-2016_10_19-02_13-pm

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

GIF

Готово! Мы создали небольшую игру, где пользователь может тапать по экрану, воздействуя тем самым на view, и получать за это игровые баллы, пока идёт обратный отсчет. Нам нужно, чтобы по его завершении пользователю отправилось написанное нами сообщение. И именно здесь-то нам и пригодится MSConversation.

В этой статье мы прошлись только по самому главному

Сегодня мы коснулись лишь немногих тем, связанных с открывающимися возможностями для использования новых расширений. Если вы хотите узнать об этом вопросе больше, обратитесь к нашей документации. Ознакомившись с материалами Sticker Packs и group conversations, Вы найдете там более подробную информацию обо всех прочих доступных API-интерфейсах, а также о многом другом. Вы можете просмотреть весь исходный код проекта Monkey Tap, пройдя по этой ссылке.

Автор: John Miller
ИсточникОфициальный блог Xamarin

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

GPU перерисовка

Написать ответ