Подключение и инициализация

AppMetrica Push Unity — это плагин для игровой платформы Unity3d, включающий поддержку AppMetrica Push SDK для платформ Android и iOS.

Перед началом работы с плагином AppMetrica Push Unity необходимо подключить и инициализировать плагин AppMetrica Unity не ниже версии 3.0.0.

Внимание. Для обновления плагина удалите из проекта директорию Assets/AppMetricaPush и импортируйте плагин новой версии (обратите внимание на особенности настройки Android).
  1. Интеграция плагина
  2. Настройка плагина

Интеграция плагина

Шаг 1. Загрузите AppMetrica Push Unity плагин.

Шаг 2. Добавьте плагин в проект — откройте проект в Unity Editor, импортируйте плагин AppMetricaPush.unitypackage (Assets → Import Package → Custom Package).

Шаг 3. Откройте папку Assets/AppMetricaPush/ и перетащите префаб AppMetricaPush с помощью мыши на главную сцену проекта.

Если плагин интегрирован данным образом, скрипт AppMetricaPush на добавленном префабе автоматически инициализирует AppMetrica Push SDK.

Добавленный префаб AppMetricaPush является синглтоном. Он не удаляется при переходе в новую сцену Unity и удаляет другие объекты, на которых будет установлен скрипт AppMetricaPush.

Настройка плагина

Шаг 1. Для отправки уведомлений на устройства с iOS версии 7 и выше добавьте в код приложения следующие изменения:

void Start()
{
  #if UNITY_IPHONE || UNITY_IOS
    UnityEngine.iOS.NotificationServices.RegisterForNotifications (
      UnityEngine.iOS.NotificationType.Alert |
      UnityEngine.iOS.NotificationType.Badge |
      UnityEngine.iOS.NotificationType.Sound, true);
  #endif
}
Совет. Вы можете добавить новый скрипт (Add Component → New Script) на существующий префаб AppMetricaPush и добавить код в реализацию метода Start() скрипта.

Шаг 2. После настройки push-уведомлений для iOS и сборки проекта внесите изменения в файл Preprocessor.h в XCode:

#define UNITY_USES_REMOTE_NOTIFICATIONS 1
Примечание. AppMetrica Push Unity Plugin использует механизм «swizzling» для своей работы: перехватывает выполнение некоторых методов класса UnityAppController используя ObjectiveC runtime. Код механизма представлен в файле AppMetricaPush/Plugins/iOS/YMPBridge.m