Общая информация

Для работы пуш-уведомлений необходимо соблюдение следующих условий:

  1. На устройстве пользователя должен быть установлен RuStore. 
  2. RuStore должен поддерживать функциональность пуш-уведомлений. 
  3. Приложению RuStore разрешён доступ к работе в фоновом режиме. 
  4. Пользователь должен быть авторизован в RuStore. 
  5. Отпечаток подписи приложения должен совпадать с отпечатком, добавленным в RuStore Консоль.

Подключение в проект

Для подключения необходимо скачать RuStore Push SDK и импортировать его в проект (Assets → Import Package → Custom Package). Зависимости подключаются автоматически с помощью External Dependency Manager (включен в SDK).

Minimum API level должен быть установлен не ниже 24. Минификация приложения (ProGuard/R8) в данный момент не поддерживается, необходимо её отключить в настройках проекта (File → Build Settings → Player Settings → Publishing Settings → Minify).

Редактирование манифеста приложения

Вы должны объявить службу RuStoreUnityMessagingService:

<service
    android:name="ru.rustore.unitysdk.pushclient.RuStoreUnityMessagingService"
    android:exported="true"
    tools:ignore="ExportedService">
    <intent-filter>
        <action android:name="ru.rustore.sdk.pushclient.MESSAGING_EVENT" />
    </intent-filter>
</service>

Вы можете добавить следующие метаданные, если вы хотите изменить иконку или цвет стандартной нотификации:

 
<meta-data
    android:name="ru.rustore.sdk.pushclient.default_notification_icon"
    android:resource="@drawable/ic_baseline_android_24" />
<meta-data
    android:name="ru.rustore.sdk.pushclient.default_notification_color"
    android:resource="@color/your_favorite_color" />

Вы можете добавить следующие метаданные для переопределения канала уведомлений:

 
<meta-data
    android:name="ru.rustore.sdk.pushclient.default_notification_channel_id"
    android:value="@string/pushes_notification_channel_id" />

При добавлении своего канала для push-уведомлений вы должны создать канал самостоятельно. 

Инициализация

Для инициализации необходимо переопределить в проекте класс Application. Необходимый исходный код уже содержится в файле Assets/RuStoreSDK/PushClient/Android/RuStoreUnityApplication.java:

package ru.rustore.unitysdk;
 
import android.app.Application;
import ru.rustore.unitysdk.pushclient.RuStoreUnityPushClient;
 
public class RuStoreUnityApplication extends Application {
 
    @Override public void onCreate() {
         super.onCreate();
         RuStoreUnityPushClient.init(
            application = this
         );
    }
}
  • application — экземпляр класса Application.

Этот класс нужно указать AndroidManifest.xml проекта:

<application android:name="ru.rustore.unitysdk.RuStoreUnityApplication">

Параметры, с которыми будет инициализироваться библиотека, настраиваются в редакторе Unity. Выберите в меню редактора пункт Window → RuStoreSDK → Settings → Push Client:

  • VKPNS Project Id — идентификатор вашего проекта в консоли разработчика RuStore;
  • Allow Native Error Handling — разрешить обработку ошибок в нативном SDK. Обработка ошибок

Перед вызовом методов библиотеки из C# кода необходимо вызвать её инициализацию:

var сonfig = new RuStorePushClientConfig() {
    allowNativeErrorHandling = true,
    messagingServiceListener = pushServiceListener,
    logListener = pushLogListener
};
 
RuStorePushClient.Instance.Init(сonfig);
  • allowNativeErrorHandling  разрешить обработку ошибок в нативном SDK; Обработка ошибок
  • messagingServiceListener  объект класса, реализующего интерфейс IMessagingServiceListener;
  • logListener  объект класса, реализующего интерфейс ILogListener.
Обновлено 14 августа 2023 г.
Was this information helpful?