Базовое руководство по интеграции Cordova SDK
В этом разделе содержится информация о том, как интегрировать Pushwoosh Cordova SDK в ваше приложение.
Предварительные требования
Anchor link toДля интеграции Pushwoosh Cordova SDK в ваше приложение вам потребуется следующее:
Шаги интеграции
Anchor link to1. Добавьте зависимость Pushwoosh Cordova SDK
Anchor link toДобавьте зависимость Pushwoosh Cordova SDK в ваш проект:
cordova plugin add pushwoosh-cordova-plugin2. Инициализация Cordova SDK
Anchor link toВ корневом компоненте вашего файла index.js добавьте следующий код внутри обработчика события deviceready. Выполняйте шаги в точном порядке:
document.addEventListener('deviceready', function() { var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");
// 1. Зарегистрируйте колбэки уведомлений перед инициализацией document.addEventListener('push-receive', function(event) { var notification = event.notification; console.log("Push received: " + JSON.stringify(notification)); });
document.addEventListener('push-notification', function(event) { var notification = event.notification; console.log("Push opened: " + JSON.stringify(notification)); });
// 2. Инициализируйте Pushwoosh pushwoosh.onDeviceReady({ appid: "__YOUR_APP_ID__" });
// 3. Зарегистрируйте устройство для получения push-уведомлений pushwoosh.registerDevice( function(status) { var pushToken = status.pushToken; // Обработка успешной регистрации }, function(status) { // Обработка ошибки регистрации } );}, false);Где:
__YOUR_APP_ID__— это код приложения из панели управления Pushwoosh.
3. Нативная настройка для iOS
Anchor link to3.1 Capabilities
Anchor link toЧтобы включить Push-уведомления в вашем проекте, вам необходимо добавить определенные capabilities.
В разделе Signing & Capabilities добавьте следующие capabilities:
Push NotificationsBackground Modes. После добавления этой capability, установите флажок дляRemote notifications.
Если вы собираетесь использовать Time Sensitive Notifications (iOS 15+), также добавьте capability Time Sensitive Notifications.
3.2 Info.plist
Anchor link toВ вашем Runner/Info.plist установите ключ __PUSHWOOSH_DEVICE_API_TOKEN__ на Pushwoosh Device API Token:
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 Отслеживание доставки сообщений
Anchor link toВы должны добавить цель Notification Service Extension в ваш проект. Это необходимо для точного отслеживания доставки и таких функций, как Rich Media на iOS.
Следуйте шагам из нативного руководства, чтобы добавить цель расширения и необходимый код Pushwoosh в него.
4. Нативная настройка для Android
Anchor link to4.1 Установка зависимостей
Anchor link toУбедитесь, что необходимые зависимости и плагины добавлены в ваши скрипты 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
Anchor link toПоместите файл google-services.json в папку android/app в каталоге вашего проекта.
4.3 Добавление метаданных Pushwoosh
Anchor link toВ вашем main/AndroidManifest.xml добавьте Pushwoosh Device API Token внутри тега <application>:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />Важно: Убедитесь, что вы предоставили токену доступ к нужному приложению в вашей панели управления Pushwoosh. Узнать больше
5. Запуск проекта
Anchor link to- Соберите и запустите проект.
- Перейдите в панель управления Pushwoosh и отправьте push-уведомление.
- Вы должны увидеть уведомление в приложении.
Расширенная интеграция
Anchor link toНа этом этапе вы уже интегрировали SDK и можете отправлять и получать push-уведомления. Теперь давайте рассмотрим основную функциональность.
Обработчики событий push-уведомлений
Anchor link toВ Pushwoosh SDK есть два обработчика событий, предназначенных для обработки push-уведомлений:
- Событие
push-receiveсрабатывает, когда push-уведомление получено, пока приложение находится на переднем плане. - Событие
push-notificationсрабатывает, когда пользователь открывает уведомление.
Эти обработчики событий должны быть зарегистрированы до вызова onDeviceReady(), как показано в шаге инициализации выше. Вы можете настроить логику обработчика в соответствии с вашими потребностями:
// Зарегистрируйте до onDeviceReady()document.addEventListener('push-receive', function(event) { var message = event.notification.message; var payload = event.notification.userdata; console.log("Push received: " + message); // Добавьте свою кастомную логику здесь});
document.addEventListener('push-notification', function(event) { var message = event.notification.message; var payload = event.notification.userdata; console.log("Push accepted: " + message); // Добавьте свою кастомную логику здесь (например, переход на определенный экран)});Конфигурация пользователя
Anchor link toСосредоточившись на поведении и предпочтениях отдельных пользователей, вы можете предоставлять персонализированный контент, что приведет к повышению удовлетворенности и лояльности пользователей.
class Registration { afterUserLogin(user) {
// Установить ID пользователя pushwoosh.setUserId(user.getId());
// Установка дополнительной информации о пользователе в качестве тегов для Pushwoosh pushwoosh.setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}Теги
Anchor link toТеги — это пары ключ-значение, присваиваемые пользователям или устройствам, позволяющие сегментировать их по атрибутам, таким как предпочтения или поведение, что обеспечивает целевую рассылку сообщений.
class UpdateUser { afterUserUpdateProfile(user) {
// Установить список любимых категорий pushwoosh.setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// Установить платежную информацию pushwoosh.setTags({ "is_subscribed": user.isSubscribed(), "payment_status": user.getPaymentStatus(), "billing_address": user.getBillingAddress() }); }}События
Anchor link toСобытия — это конкретные действия или происшествия пользователя в приложении, которые можно отслеживать для анализа поведения и запуска соответствующих сообщений или действий.
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() }); }}Устранение неполадок
Anchor link toЕсли у вас возникнут какие-либо проблемы в процессе интеграции, пожалуйста, обратитесь к разделу поддержки и сообщества.