Руководство по базовой интеграции Unity SDK
В этом разделе содержится информация о том, как интегрировать Pushwoosh Unity SDK в ваше приложение.
Предварительные требования
Anchor link toДля интеграции Pushwoosh Unity SDK в ваше приложение вам понадобится следующее:
Шаги интеграции
Anchor link to1. Добавьте зависимость Pushwoosh Unity SDK
Anchor link toИмпортируйте плагин push-уведомлений для Unity в папку Assets в Unity.
2. Инициализация Unity SDK
Anchor link toСоздайте скрипт PushNotificator.cs и прикрепите его к Camera Object на сцене.
В скрипте:
- Инициализируйте Pushwoosh SDK с кодом приложения и номером проекта Firebase.
- Вызовите
RegisterForPushNotifications()в вашей логике инициализации для регистрации на получение push-уведомлений. - Добавьте обработчики событий регистрации для управления событиями регистрации push-уведомлений:
using UnityEngine;using UnityEngine.UI;
public class PushNotificator : MonoBehaviour { void Start () { Pushwoosh.ApplicationCode = "__YOUR_APP_ID__"; Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__"; Pushwoosh.Instance.OnRegisteredForPushNotifications += OnRegisteredForPushNotifications; Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += OnFailedToRegisteredForPushNotifications; Pushwoosh.Instance.RegisterForPushNotifications(); }
void OnRegisteredForPushNotifications(string token) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received token: \n{0}", token); }
void OnFailedToRegisteredForPushNotifications(string error) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Error ocurred while registering to push notifications: \n{0}", error); }}Где:
__YOUR_APP_ID__— это код приложения из Панели управления Pushwoosh.__YOUR_FCM_SENDER_ID__— это номер проекта Firebase из Firebase Console.
3. Нативная настройка для iOS
Anchor link to3.1 Capabilities
Anchor link toЧтобы включить Push-уведомления в вашем проекте, необходимо добавить определенные capabilities.
В разделе Signing & Capabilities добавьте следующие capabilities:
Push NotificationsBackground Modes. После добавления этой capability отметьте флажокRemote notifications.
Если вы планируете использовать Time Sensitive Notifications (iOS 15+), также добавьте capability Time Sensitive Notifications.
3.2 Info.plist
Anchor link toВ вашем Runner/Info.plist установите ключ __PUSHWOOSH_DEVICE_API_TOKEN__ в значение Pushwoosh Device API Token:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 Отслеживание доставки сообщений
Anchor link toВы должны добавить таргет Notification Service Extension в ваш проект. Это необходимо для точного отслеживания доставки и использования таких функций, как Rich Media на iOS.
Следуйте шагам из нативного руководства, чтобы добавить таргет расширения и необходимый код Pushwoosh в него.
4. Нативная настройка для Android
Anchor link to4.1 Добавьте конфигурационный файл Firebase
Anchor link toПоместите файл google-services.json в папку Assets в каталоге вашего проекта.
4.2 Настройте параметры сборки
Anchor link toВ разделе Publishing Settings вашего профиля сборки Android включите опцию Custom Main Manifest.
4.3 Добавьте метаданные Pushwoosh
Anchor link toВ вашем Assets/Plugins/Android/AndroidManifest.xml добавьте Pushwoosh Device API Token внутри тега <application>:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />Важно: Убедитесь, что токен имеет доступ к нужному приложению в вашей Панели управления Pushwoosh. Узнать больше
5. Интеграция с Windows Store
Anchor link to- Добавьте
link.xmlв ваш каталогAssets/со следующим содержимым:
<linker> <assembly fullname="PushSDK" preserve="all"/></linker>- Вам также необходимо связать приложение с магазином (Associate App with the Store) в экспортированном проекте Visual Studio. Убедитесь, что ваше приложение подписано сертификатом, соответствующим вашему Publisher Identity.

Включите capability Internet (Client) на вкладке Capabilities вашего .appxmanifest в экспортированном проекте Visual Studio.
6. Запустите проект
Anchor link to- Соберите и запустите проект.
- Перейдите в Панель управления Pushwoosh и отправьте push-уведомление.
- Вы должны увидеть уведомление в приложении.
Расширенная интеграция
Anchor link toНа этом этапе вы уже интегрировали SDK и можете отправлять и получать push-уведомления. Теперь давайте рассмотрим основную функциональность.
Слушатели событий push-уведомлений
Anchor link toВ Pushwoosh SDK есть два слушателя событий, предназначенных для обработки push-уведомлений:
- Событие
OnPushNotificationsReceivedсрабатывает, когда получено push-уведомление - Событие
OnPushNotificationsOpenedсрабатывает, когда пользователь открывает уведомление
Вам следует настроить эти слушатели событий сразу после инициализации SDK в PushNotificator.cs:
using UnityEngine;using UnityEngine.UI;
public class PushNotificator : MonoBehaviour { void Start () { Pushwoosh.ApplicationCode = "__YOUR_APP_ID__"; Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__"; Pushwoosh.Instance.OnPushNotificationsReceived += OnPushNotificationsReceived; Pushwoosh.Instance.OnPushNotificationsOpened += OnPushNotificationsOpened; Pushwoosh.Instance.RegisterForPushNotifications(); }
void OnPushNotificationsReceived(string payload) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received push notificaiton: \n{0}", payload); }
void OnPushNotificationsOpened(string payload) { Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Opened push notificaiton: \n{0}", payload); }Конфигурация пользователя
Anchor link toФокусируясь на поведении и предпочтениях отдельных пользователей, вы можете доставлять персонализированный контент, что приводит к повышению удовлетворенности и лояльности пользователей.
public class Registration { public void afterUserLogin(User user) {
// Установить User ID Pushwoosh.Instance.SetUserId(user.getId());
// Установить email пользователя Pushwoosh.Instance.SetEmail(user.getEmail());
// Установка дополнительной информации о пользователе в качестве тегов для Pushwoosh Pushwoosh.Instance.SetIntTag("Age", user.getAge()); Pushwoosh.Instance.SetStringTag("Name", user.getName()); Pushwoosh.Instance.SetStringTag("LastLoginDate", user.getLastLoginDate()); }}Теги
Anchor link toТеги — это пары «ключ-значение», присваиваемые пользователям или устройствам, которые позволяют сегментировать аудиторию по таким атрибутам, как предпочтения или поведение, для отправки целевых сообщений.
public class UpdateUser { public void afterUserUpdateProfile(User user) {
// Установить список любимых категорий Pushwoosh.Instance.SetListTag( "favorite_categories": user.getFavoriteCategoriesList() );
// Установить платежную информацию Pushwoosh.Instance.SetStringTag("is_subscribed", user.isSubscribed()); Pushwoosh.Instance.SetStringTag("payment_status", user.getPaymentStatus()); Pushwoosh.Instance.SetStringTag("billing_address", user.getBillingAddress()); }}События
Anchor link toСобытия — это определенные действия или происшествия пользователя в приложении, которые можно отслеживать для анализа поведения и запуска соответствующих сообщений или действий.
public class Registration {
// Отслеживать событие входа public void afterUserLogin(User user) { Pushwoosh.Instance.PostEvent("login", new Dictionary<string, object>() { { "name", user.getName() }, { "last_login", user.getLastLoginDate() } }); }
public void afterUserPurchase(Product product) { // Отслеживать событие покупки Pushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object>() { { "product_id", product.getId() }, { "product_name", product.getName() }, { "price", product.getPrice() }, { "quantity", product.getQuantity() } }); }}Устранение неполадок
Anchor link toЕсли у вас возникнут какие-либо проблемы в процессе интеграции, обратитесь к разделу поддержки и сообщества.