RuStoreSDK для подключения пуш-уведомлений

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

  1. На устройстве пользователя должно быть установлено приложение RuStore. 

  2. Приложение RuStore должно поддерживать функциональность пуш-уведомлений. 

  3. Приложению RuStore разрешён доступ к работе в фоновом режиме. 

  4. Пользователь должен быть авторизован в приложении RuStore.

Добавление репозитория

Подключите локальный репозиторий:

repositories {
    maven {
    }
}

Подключение зависимости

Для подключения зависимости добавьте в свой конфигурационный файл следующий код:

dependencies {
    implementation("ru.rustore.sdk:pushclient:0.1.0")
}

Настройте ProGuard

При использовании пуш-client в вашем приложении вместе с ProGuard добавьте следующее правило:

-keep public class com.vk.push.** extends android.os.Parcelable

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

Объявите службу, расширяющую RuStoreMessagingService:

<service
    android:name=".MyRuStoreMessagingService"
    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:resource="@string/pushes_notification_channel_id" />

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

Для инициализации добавьте в Application вашего проекта следующий код:

class App : Application() {
 
    override fun onCreate() {
        super.onCreate()
        RuStorePushClient().init(
            application = this,
            projectId = "i5UTx95jw6c1C9LvdlE4cdNrWHMNyRBt",
            logger = DefaultLogger()
        )
    }
}
  • application — экземпляр класса Application;
  • projectId — идентификатор вашего проекта в системе VKPNS;
  • logger — логгер, по умолчанию используется вывод в logcat.
Was this information helpful?