- Инициализировать библиотеку и передать в нее ID проекта пуш-уведомлений из консоли разработчика. Инициализацию библиотеки рекомендуется проводить в Application классе вашего приложения.
RuStorePushClient.INSTANCE.init(
this,
"32FcaDWjM03DrgLJLoY5PRLT5GaahRBb",
new PushLogger("PushExampleLogger")
);
- ApplicationId, указанный в build.gradle, совпадает с applicationId apk-файла, который вы публиковали в консоль RuStore. Также должна совпадать подпись приложения.
android {
defaultConfig {
applicationId = "com.example.javapushexample" // Зачастую в buildTypes приписывается .debug
}
}
Все пуш-уведомления вы можете получить реализовав сервис наследник RuStoreMessagingService
в своем приложении. Важно переопределить метод onMessageReceived
, в который будут приходить новые пуш-уведомления.
Пример реализации сервиса:
public class PushListenerService extends RuStoreMessagingService {
@Override
public void onNewToken(@NonNull String token) {
//Получение нового пуш-токена
}
@Override
public void onMessageReceived(@NonNull RemoteMessage message) {
//Обработка полученного пуш-уведомления
}
@Override
public void onError(@NonNull List<? extends RuStorePushClientException> errors) {
//Получение ошибок, которые могут возникнуть во время работы SDK
for (RuStorePushClientException error : errors) {
error.printStackTrace();
}
}
@Override
public void onDeletedMessages() {
// Метод вызывается, если один или несколько push-уведомлений не доставлены на устройство.
// Например, если время жизни уведомления истекло до момента доставки.
// При вызове этого метода рекомендуется синхронизироваться со своим сервером, чтобы не пропустить данные.
}
}
- SDK способна отобразить пуш-уведомление, у которого заполены поля объекта
Notification
. Главное, чтобы было заполнено полеtitle
. - SDK не отображает и не использует контент переданный в поле
data
. Обрабатывать пуш-уведомления, которые содержат такое поле необходимо самостоятельно. Пример обработки можно найти вPushListenerService
. - Вы можете указать свой канал для отображения пуш-уведомлений в манифесте приложения. Однако, такой канал вы должны предварительно создавать самостоятельно, иначе пуш-уведомления отображаться не будут. Канал является необязательным параметром.
<meta-data
android:name="ru.rustore.sdk.pushclient.default_notification_channel_id"
android:value="@string/notifications_notification_push_channel_id" />
- Вы также можете настроить иконку и цвет уведомления по умолчанию, указав соответствующие параметры в манифесте приложения. Данные параметры являются необязательными.
<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" />
Данное программное обеспечение, включая исходные коды, бинарные библиотеки и другие файлы распространяется под лицензией MIT. Информация о лицензировании доступна в документе MIT-LICENSE.txt
Если появились вопросы по интеграции Push SDK, обратитесь по ссылке.