SDK push-уведомлений для Flutter (версия 6.1.1)
Ниже перечислены условия работы push-уведомлений.
- Подпись тестируемой сборки (например,
debug
) приложения должна совпадать с подписью сборки приложения, которая была загружена в консоль и прошла модерацию ранее (например,release
). :::* Используется актуальная версия SDK. - Приложение загружено в Консоль RuStore.
- Приложение прошло модерацию (публиковать приложение необязательно).
- На устройстве пользователя установлена актуальная версия RuStore.
- Приложение RuStore поддерживает функциональность push-уведомлений.
- Приложению RuStore разрешен доступ к работе в фоновом режиме. Без этого разрешения push-уведомления будут приходить, но со значительной задержкой.
- Отпечаток подписи приложения, установленного на девайсе, совпадает с отпечатком подписи приложения, которое загружено в Консоль RuStore.
Пример реализации
Ознакомьтесь с приложением-примером, чтобы узнать, как правильно интегрировать SDK push-уведомлений.
Подключение в проект
Для подключения пакета к проекту выполните следующую команду.
flutter pub add flutter_rustore_push
Она добавит строчку в файл pubspec.yaml
.
dependencies:
flutter_rustore_push: ^6.1.1
Инициализация
Для инициализации понадобится идентификатор проекта из RuStore Консоль. Ч тобы получить его, на странице приложения перейдите в раздел Push-уведомления > Проекты и скопируйте значение в поле ID проекта.
Добавьте в AndroidManifest.xml
следующий код.
<meta-data
android:name="ru.rustore.sdk.pushclient.project_id"
android:value="i5UTx96jw6c1C9LvdlE4cdNrWHMNyRBt" />
<meta-data
android:name="ru.rustore.sdk.pushclient.params_class"
android:value="com.example.FlutterRuStorePushClientParams" />
projectId
— идентификатор проекта из RuStore Консоль. Чтобы получить его, на странице приложения перейдите в раздел Push-уведомления > Проекты и скопируйте значение в поле ID проекта.- (опционально)
com.example.FlutterRuStorePushClientParams
— полное имя класса своей реализацииFlutterRuStorePushClientParams
. Параметр нужен для указания дополнительных параметров инициализации push-клиента.
Вы можете создать его в своем приложении. Для этого добавьте в Android-модуль зависимости.
repositories {
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
dependencies {
implementation("ru.rustore.sdk:pushclient:6.1.1")
}
Пример реализации FlutterRuStorePushClientParams
.
class FlutterRuStorePushClientParams(context: Context) : AbstractRuStorePushClientParams(context) {
override fun getLogger(): Logger = DefaultLogger("your_tag")
override fun getTestModeEnabled(): Boolean = false
}
Далее поместите в AndroidManifest.xml
следующий код.
<meta-data
android:name="ru.rustore.sdk.pushclient.params_class"
android:value="com.example.FlutterRuStorePushClientParams" />
В реализации класса AbstractRuStorePushClientParams
должен быть только один конструктор с одним аргументом Context
.
Настройки ProGuard
Для настройки ProGuard добавьте следующее правило.
-keep public class com.vk.push.** extends android.os.Parcelable
В файле android/app/build.gradle
добавьте следующие строки.
buildTypes {
release {
// ...
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Проверка возможности получать push-уведомления
Для проверки того, что приложение RuStore установлено на устройстве пользователя, используйте методRustorePushClient.available()
.
RustorePushClient.available().then((value) {
print("available success: ${value}");
}, onError: (err) {
print("available error: ${err}");
}
);