Базовое руководство по интеграции Cordova SDK
В этом разделе содержится информация о том, как интегрировать Wavesend Cordova SDK в ваше приложение.
Предварительные требования
Section titled “Предварительные требования”Для интеграции Wavesend Cordova SDK в ваше приложение вам понадобится следующее:
Шаги интеграции
Section titled “Шаги интеграции”1. Добавьте зависимость Wavesend Cordova SDK
Section titled “1. Добавьте зависимость Wavesend Cordova SDK”Добавьте зависимость Wavesend Cordova SDK в ваш проект:
cordova plugin add wavesend-cordova-plugin2. Инициализация Cordova SDK
Section titled “2. Инициализация Cordova SDK”В корневом компоненте вашего файла index.js:
- Инициализируйте Wavesend SDK.
- Вызовите
registerDevice()в вашей логике инициализации для регистрации push-уведомлений.
function onDeviceReady() { var pushwoosh = cordova.require("wavesend-cordova-plugin.PushNotification");
pushwoosh.onDeviceReady({ appid: "__YOUR_APP_ID__", projectid: "__YOUR_FCM_SENDER_ID__" });
pushwoosh.registerDevice( function(status) { var pushToken = status.pushToken; // Обработка успешной регистрации }, function(status) { // Обработка ошибки регистрации });Где:
__YOUR_APP_ID__— это application code из Wavesend Control Panel.__YOUR_FCM_SENDER_ID__— это номер проекта Firebase из Firebase Console.
3. Нативная настройка iOS
Section titled “3. Нативная настройка iOS”3.1 Capabilities
Section titled “3.1 Capabilities”Чтобы включить push-уведомления в вашем проекте, необходимо добавить определенные capabilities.
В разделе Signing & Capabilities добавьте следующие capabilities:
Push NotificationsBackground Modes. После добавления этой capability, установите флажок дляRemote notifications.
Если вы планируете использовать Time Sensitive Notifications (iOS 15+), также добавьте capability Time Sensitive Notifications.
3.2 Info.plist
Section titled “3.2 Info.plist”В вашем Runner/Info.plist установите для ключа __WAVESEND_DEVICE_API_TOKEN__ значение Wavesend Device API Token:
<key>Wavesend_API_TOKEN</key><string>__WAVESEND_DEVICE_API_TOKEN__</string>3.3 Отслеживание доставки сообщений
Section titled “3.3 Отслеживание доставки сообщений”Вы должны добавить Notification Service Extension в ваш проект. Это необходимо для точного отслеживания доставки и таких функций, как Rich Media на iOS.
Следуйте шагам в нативном руководстве, чтобы добавить расширение и необходимый код Wavesend в него.
4. Нативная настройка Android
Section titled “4. Нативная настройка Android”4.1 Установка зависимостей
Section titled “4.1 Установка зависимостей”Убедитесь, что необходимые зависимости и плагины добавлены в ваши скрипты Gradle:
Добавьте плагин Google Services Gradle в зависимости вашего build.gradle на уровне проекта:
buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' }}Примените плагин в файле build.gradle на уровне приложения:
apply plugin: 'com.google.gms.google-services'4.2 Добавьте конфигурационный файл Firebase
Section titled “4.2 Добавьте конфигурационный файл Firebase”Поместите файл google-services.json в папку android/app в каталоге вашего проекта.
4.3 Добавьте метаданные Wavesend
Section titled “4.3 Добавьте метаданные Wavesend”В вашем main/AndroidManifest.xml добавьте Wavesend Device API Token внутри тега <application>:
<meta-data android:name="com.wavesend.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />Важно: Убедитесь, что токену предоставлен доступ к нужному приложению в Wavesend Control Panel. Узнать больше
5. Запустите проект
Section titled “5. Запустите проект”- Соберите и запустите проект.
- Перейдите в Wavesend Control Panel и отправьте push-уведомление.
- Вы должны увидеть уведомление в приложении.
Расширенная интеграция
Section titled “Расширенная интеграция”На этом этапе вы уже интегрировали SDK и можете отправлять и получать push-уведомления. Теперь давайте рассмотрим основную функциональность
Обработчики событий push-уведомлений
Section titled “Обработчики событий push-уведомлений”В Wavesend SDK есть два обработчика событий, предназначенных для обработки push-уведомлений:
- событие
onPushReceivedсрабатывает при получении push-уведомления - событие
onPushAcceptedсрабатывает, когда пользователь открывает уведомление
Вы должны настроить эти обработчики событий сразу после инициализации SDK при запуске приложения:
class PushwooshNotificationHandler { setupPushListeners() {
document.addEventListener('push-receive', function(event) { console.log("Получено push-уведомление: " + event.notification.message); } );
document.addEventListener('push-notification', function(event) { console.log("Принято push-уведомление: " + event.notification.message); } ); }}Конфигурация пользователя
Section titled “Конфигурация пользователя”Фокусируясь на поведении и предпочтениях отдельных пользователей, вы можете предоставлять персонализированный контент, что ведет к повышению удовлетворенности и лояльности пользователей.
class Registration { afterUserLogin(user) {
// Установить User ID pushwoosh.setUserId(user.getId());
// Установка дополнительной информации о пользователе в виде тегов для Wavesend pushwoosh.setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}Теги — это пары «ключ-значение», присваиваемые пользователям или устройствам, которые позволяют сегментировать аудиторию на основе атрибутов, таких как предпочтения или поведение, для целевой отправки сообщений.
class UpdateUser { afterUserUpdateProfile(user) {
// Установить список любимых категорий pushwoosh.setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// Установить платежную информацию pushwoosh.setTags({ "is_subscribed": user.isSubscribed(), "payment_status": user.getPaymentStatus(), "billing_address": user.getBillingAddress() }); }}События
Section titled “События”События — это определенные действия пользователя или происшествия в приложении, которые можно отслеживать для анализа поведения и запуска соответствующих сообщений или действий.
class Registration {
// Отследить событие входа afterUserLogin(user) { pushwoosh.postEvent("login", { "name": user.getName(), "last_login": user.getLastLoginDate() }); }
// Отследить событие покупки afterUserPurchase(product) { pushwoosh.postEvent("purchase", { "product_id": product.getId(), "product_name": product.getName(), "price": product.getPrice(), "quantity": product.getQuantity() }); }}Troubleshooting
Section titled “Troubleshooting”Если у вас возникнут проблемы в процессе интеграции, обратитесь к разделу поддержка и сообщество.