Справочник по API плагина для Cordova
var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");
// Should be called before pushwoosh.onDeviceReadydocument.addEventListener('push-notification', function(event) { var notification = event.notification; // handle push open here});
// Initialize Pushwoosh. This will trigger all pending push notifications on start.pushwoosh.onDeviceReady({ appid: "XXXXX-XXXXX", projectid: "XXXXXXXXXXXXXXX", serviceName: "XXXX"});
pushwoosh.registerDevice( function(status) { var pushToken = status.pushToken; // handle successful registration here }, function(status) { // handle registration error here });
onDeviceReady
Anchor link toPushNotification.prototype.onDeviceReady = function( config )
[android, ios, wp8, windows]
Инициализирует плагин Pushwoosh и вызывает стартовое пуш-сообщение. Должен вызываться при каждом запуске приложения.
config.appid
– Код приложения Pushwoosh.
config.projectid
– Номер проекта GCM для платформы Android.
config.serviceName
– Имя службы MPNS для платформы wp8.
// initialize Pushwoosh with projectid: "GOOGLE_PROJECT_NUMBER", appid : "PUSHWOOSH_APP_ID", serviceName : "WINDOWS_PHONE_SERVICE". This will trigger all pending push notifications on start.pushwoosh.onDeviceReady({ appid : "XXXXX-XXXXX", projectid: "XXXXXXXXXXXXXXX", serviceName: "XXXX"});
registerDevice
Anchor link toPushNotification.prototype.registerDevice = function( success, fail )
[android, ios, wp8, windows]
Регистрирует устройство для получения пуш-уведомлений и получает push Token.
success
– колбэк успешного выполнения. Push-токен передается в этот колбэк в качестве параметра “status.pushToken”
fail
– колбэк ошибки
pushwoosh.registerDevice( function(status) { alert("Registered with push token: " + status.pushToken); }, function(error) { alert("Failed to register: " + error); });
unregisterDevice
Anchor link toPushNotification.prototype.unregisterDevice = function( success, fail )
[android, ios, wp8, windows]
Отменяет регистрацию устройства для получения пуш-уведомлений.
success
– колбэк успешного выполнения
fail
– колбэк ошибки
setTags
Anchor link toPushNotification.prototype.setTags = function( config, success, fail )
[android, ios, wp8, windows]
Устанавливает теги для устройства.
Параметры
config
– объект с пользовательскими тегами устройства
success
– колбэк успешного выполнения. Push-токен передается в этот колбэк в качестве параметра “status.pushToken”
fail
– колбэк ошибки
// sets tags: “deviceName” with value “hello” and “deviceId” with value 10pushwoosh.setTags({deviceName:"hello", deviceId:10}, function() { console.warn('setTags success'); }, function(error) { console.warn('setTags failed'); });
// sets list tags "MyTag" with values (array) "hello", "world"pushwoosh.setTags({"MyTag":["hello", "world"]});
getTags
Anchor link toPushNotification.prototype.getTags = function( success, fail )
[android, ios, wp8, windows]
Возвращает теги для устройства, включая теги по умолчанию.
success
– колбэк успешного выполнения. Получает теги в качестве параметров
fail
– колбэк ошибки
pushwoosh.getTags( function(tags) { console.warn('tags for the device: ' + JSON.stringify(tags)); }, function(error) { console.warn('get tags error: ' + JSON.stringify(error)); });
getPushToken
Anchor link toPushNotification.prototype.getPushToken = function( success )
[android, ios, wp8, windows]
Возвращает push-токен, если он доступен. Обратите внимание, что токен также приходит в колбэке функции registerDevice.
success
– колбэк успешного выполнения.
pushwoosh.getPushToken( function(token) { console.warn('push token: ' + token); });
getPushwooshHWID
Anchor link toPushNotification.prototype.getPushwooshHWID = function( success )
[android, ios, wp8, windows]
Возвращает Pushwoosh HWID, используемый для взаимодействия с Pushwoosh API.
success
– колбэк getPushwooshHWID
pushwoosh.getPushwooshHWID( function(token) { console.warn('Pushwoosh HWID: ' + token); });
getRemoteNotificationStatus
Anchor link toPushNotification.prototype.getRemoteNotificationStatus = function( callback, error )
[android, ios]
Возвращает подробный статус разрешений на пуш-уведомления.
callback
– колбэк успешного выполнения. Получает объект со следующими свойствами:
{
”enabled” : флаг, указывающий, включены ли уведомления.
”pushBadge” : разрешение на значки (бейджи) предоставлено. (только для iOS)
”pushAlert” : разрешение на оповещения предоставлено. (только для iOS)
”pushSound” : разрешение на звук предоставлено. (только для iOS)
}
error
— колбэк ошибки
setApplicationIconBadgeNumber
Anchor link toPushNotification.prototype.setApplicationIconBadgeNumber = function( badgeNumber )
[android, ios]
Устанавливает число на значке (бейдже) иконки приложения.
badgeNumber
– число для значка иконки
getApplicationIconBadgeNumber
Anchor link toPushNotification.prototype.getApplicationIconBadgeNumber = function( callback )
[android, ios]
Возвращает число на значке (бейдже) иконки приложения.
callback
– колбэк успешного выполнения
pushwoosh.getApplicationIconBadgeNumber(function(badge){ alert(badge);} );
addToApplicationIconBadgeNumber
Anchor link toPushNotification.prototype.addToApplicationIconBadgeNumber = function( badgeNumber )
[android, ios]
Добавляет значение к числу на значке иконки приложения.
badgeNumber
— число, на которое нужно увеличить значение на значке иконки
getLaunchNotification
Anchor link toPushNotification.prototype.getLaunchNotification = function( callback )
[android, ios]
Возвращает полезную нагрузку пуш-уведомления, если приложение было запущено в ответ на пуш-уведомление, или null.
callback
– колбэк успешного выполнения
clearLaunchNotification
Anchor link toPushNotification.prototype.clearLaunchNotification = function( callback )
[android, ios]
Очищает уведомление о запуске, getLaunchNotification()
вернет null
после этого вызова.
setUserId
Anchor link toPushNotification.prototype.setUserId = function( userId )
[android, ios]
Устанавливает идентификатор пользователя — Facebook ID, имя пользователя, email или любой другой идентификатор. Это позволяет сопоставлять данные и события на нескольких устройствах пользователя.
userId
– строковый идентификатор пользователя
postEvent
Anchor link toPushNotification.prototype.postEvent = function( event, attributes )
[android, ios]
Отправляет события для In-App сообщений. Это может вызвать отображение In-App сообщения, как указано в Панели управления Pushwoosh.
event
– событие, которое нужно вызвать
attributes
– объект с дополнительными атрибутами события
pushwoosh.setUserId("XXXXXX");pushwoosh.postEvent("buttonPressed", { "buttonNumber" : 4, "buttonLabel" : "banner" });
createLocalNotification
Anchor link toPushNotification.prototype.createLocalNotification = function( config, success, fail )
[android, ios]
Планирует локальное уведомление.
config.msg
– сообщение уведомления
config.seconds
– задержка уведомления в секундах
config.userData
– дополнительные данные для передачи в уведомлении
success
– колбэк успешного выполнения
fail
– колбэк ошибки
pushwoosh.createLocalNotification({msg:"Your pumpkins are ready!", seconds:30, userData:{}})
clearLocalNotification
Anchor link toPushNotification.prototype.clearLocalNotification = function()
[android]
Очищает все ожидающие локальные уведомления, созданные createLocalNotification
clearNotificationCenter
Anchor link toPushNotification.prototype.clearNotificationCenter = function()
[android]
Очищает все уведомления, представленные в Центре уведомлений Android.
setMultiNotificationMode
Anchor link toPushNotification.prototype.setMultiNotificationMode = function( success, fail )
[android]
Позволяет отображать несколько уведомлений в Центре уведомлений Android.
setSingleNotificationMode
Anchor link toPushNotification.prototype.setSingleNotificationMode = function( success,fail )
[android]
Позволяет отображать только последнее уведомление в Центре уведомлений Android.
setSoundType
Anchor link toPushNotification.prototype.setSoundType = function( type, success, fail )
[android]
Устанавливает звук по умолчанию для входящих пуш-уведомлений.
type
– Тип звука (0 – по умолчанию, 1 – без звука, 2 – всегда)
setVibrateType
Anchor link toPushNotification.prototype.setVibrateType = function(type, success, fail )
[android]
Устанавливает режим вибрации по умолчанию для входящих пуш-уведомлений.
type
– Тип вибрации (0 – по умолчанию, 1 – без вибрации, 2 – всегда)
setLightScreenOnNotification
Anchor link toPushNotification.prototype.setLightScreenOnNotification = function( on, success, fail )
[android]
Включает экран при поступлении уведомления.
on
– включить/выключить разблокировку экрана (по умолчанию выключено)
setEnableLED
Anchor link toPushNotification.prototype.setEnableLED = function( on, success, fail )
[android]
Включает мигание светодиода, когда приходит уведомление и дисплей выключен.
on
– включить/выключить мигание светодиода (по умолчанию выключено)
setColorLED
Anchor link toPushNotification.prototype.setColorLED = function( color, success, fail )
[android]
Устанавливает цвет светодиода. Используйте с setEnableLED.
color
– цвет светодиода в целочисленном формате ARGB
getPushHistory
Anchor link toPushNotification.prototype.getPushHistory = function( success )
[android]
Возвращает массив полученных пуш-уведомлений.
success
– колбэк успешного выполнения
pushwoosh.getPushHistory(function(pushHistory) { if(pushHistory.length == 0) alert("no push history"); else alert(JSON.stringify(pushHistory));});
pushwoosh.clearPushHistory();
clearPushHistory
Anchor link toPushNotification.prototype.clearPushHistory = function()
[android]
Очищает историю пуш-уведомлений.
cancelAllLocalNotifications
Anchor link toPushNotification.prototype.cancelAllLocalNotifications = function( callback )
[ios]
Очищает все локальные уведомления из центра уведомлений.
presentInboxUI
Anchor link to[android, ios]
Открывает экран Входящие.
PushNotification.prototype.presentInboxUI = function()
setCommunicationEnabled
Anchor link toБинарный метод, включающий/отключающий все коммуникации с Pushwoosh. Значение false отписывает устройство от получения пуш-уведомлений и прекращает загрузку in-app сообщений. Значение true отменяет этот эффект.
PushNotification.prototype.setCommunicationEnabled = function(enable, success, fail)
removeAllDeviceData
Anchor link toУдаляет все данные об устройстве.
PushNotification.prototype.removeAllDeviceData = function()
push-receive
Anchor link to[android, ios]
Событие получения пуш-уведомления. Срабатывает, когда приложение получает пуш-уведомление в активном или фоновом режиме. Закрытые приложения не получают это событие.
Свойства события
message
– (string
) Сообщение пуш-уведомления
userdata
– (object
/array
) Пользовательские данные пуш-уведомления
onStart
– (boolean
) Является ли уведомлением о запуске
foreground
– (boolean
) Получено ли уведомление в активном режиме
android
– (object
) Полезная нагрузка, специфичная для Android
ios
– (object
) Полезная нагрузка, специфичная для iOS
windows
– (object
) Полезная нагрузка, специфичная для Windows
document.addEventListener('push-receive', function(event) { var userData = event.notification.userdata;
if (typeof(userData) != "undefined") { // handle custom notification data console.warn('user data: ' + JSON.stringify(userData)); } });
Уведомления в активном режиме
Anchor link toПо умолчанию плагин Pushwoosh не отображает уведомления, когда приложение активно, и автоматически вызывает событие push-receive
. Для управления этим поведением см. руководство по настройке плагина.
push-notification
Anchor link to[android, ios, wp8, windows]
Событие принятия пуш-уведомления. Срабатывает, когда пользователь нажимает на пуш-уведомление.
document.addEventListener('push-notification', function(event) { var message = event.notification.message; var userData = event.notification.userdata;
if (typeof(userData) != "undefined") { console.warn('user data: ' + JSON.stringify(userData)); } });
Свойства события
Такие же, как у push-receive
additionalAuthorizationOptions
Anchor link to[ios only]
Предоставляет _д_ополнительные параметры авторизации уведомлений. Следует вызывать перед вызовом registerDevice.
pushwoosh.additionalAuthorizationOptions({ "UNAuthorizationOptionCriticalAlert" : 1, "UNAuthorizationOptionProvisional": 0 // установите 0 или не указывайте параметр, если вы не хотите добавлять его в свое приложение.});