Pushwoosh обратный вызов на устройстве регистрации
Я пытался реализовать pushwoosh в моем приложении на основе JavaScript с помощью phonegap(для Android).
Я просмотрел их tuturials и пример, и я также могу зарегистрировать устройство на сервере GCM для получения уведомлений. Но почему-то я не получаю обратного вызова при регистрации устройства.
Код идет здесь:
function initPushwoosh()
{
var pushNotification = window.plugins.pushNotification;
pushNotification.onDeviceReady();
//projectid: "581719621125", appid : " EB8C9-89549"
pushNotification.registerDevice({
projectid: CONFIG.projectID,
appid : CONFIG.appId
},
function(token) {
console.warn('Push token onPushwooshInitialized : ' + pushToken);
onPushwooshInitialized(token);
},
function(status) {
console.warn(JSON.stringify(['failed to register ', status]));
});
document.addEventListener('push-notification', function(event) {
var title = event.notification.title;
var userData = event.notification.userdata;
if(typeof(userData) != "undefined") {
console.warn('user data: ' + JSON.stringify(userData));
}
navigator.notification.alert(title);
pushNotification.stopGeoPushes();
});
}
Как вы видите, первая функция, которую принимает registerDevice, предназначена для обратных вызовов, а другая - для сбоя / ошибки.
То, что я вижу в Eclipse Log Cat ( Console), это показывает что-то вроде этого
03-19 10:23:35.339: V/GCMRegistrar(548): зарегистрирован на сервере: true 03-19 10:23:35.369: W/dalvikvm(548): исключение Ljava/lang/RuntimeException; выброшенный во время Landroid/ OS /AsyncTask;. 03-19 10:23:35.399: W/PushWoosh DeviceFeature2_5(548): попробуйте отправить приложение открыто 03-19 10:23:36.669: I/global(548): Размер буфера по умолчанию, используемый в конструкторе BufferedInputStream. Было бы лучше быть явным, если требуется буфер 8 КБ. 03-19 10:23:36.669: W/PushWoosh: NetworkUtils(548): PushWooshResult: {"status_code":200,"status_message":"OK","response":null} 03-19 10:23:36.679: W/PushWoosh DeviceFeature2_5(548): отправка приложения, открытие успешно 03-19 10:23:36.749: I/dalvikvm(548): Отклонение повторного запуска для ранее неудачного класса Lcom/arellomobile/android/push/utils/WorkerTask; v=0x0 03-19 10:23:36.749: W/DeviceRegistrar(548): попробуйте зарегистрироваться для толчков 03-19 10:23:37.569: I/global(548): Размер буфера по умолчанию, используемый в конструкторе BufferedInputStream. Было бы лучше быть явным, если требуется буфер 8 КБ. 03-19 10:23:37.580: W/PushWoosh: NetworkUtils(548): PushWooshResult: {"status_code":200,"status_message":"OK","response":null} 03-19 10:23:37.590: V/GCMRegistrar(548): настройка, зарегистрированная на сервере, как: true 03-19 10:23:38.039: W/PushEventsTransmitter(548): нет android.permission.BROADCAST_STICKY. Возвращаясь к простой трансляции 03-19 10: 23: 38,120: Вт /DeviceRegistrar(548): Registered для толчков: APA91bFK0pv-d1gorQOs2lY_CJMYlNCkoLPWlHsO7oZyLa4gLzQqHnKGKW0mUyiW-llXpoWGpPpLPJAm1vY-Bxi_jnG462NIg2r7gvszqJBQt3wY69WsKnhq-_dgsqXRJ_m_KhoP4uS-2k7FM68LEs3cnCLZqjXHiA
Как видите, в последней строке написано, что устройство успешно зарегистрировано, и с сервера получен токен / идентификатор регистрации, но так как он не вызывает мою функцию обратного вызова, я не могу справиться с этим. У меня есть Google, и я не нашел решения, я не уверен, что это какой-то логический вопрос в этом коде с моей стороны. Любая полезная ссылка и поддержка высоко ценится.
1 ответ
Пожалуйста, получите новый Pushwoosh.jar по адресу: https://github.com/shaders/phonegap-cordova-push-notifications/tree/master/Android/lib
Или здесь: https://github.com/shaders/push-notifications-sdk/tree/master/SDK/Android
(они одинаковые)
Поведение, которое вы видите, связано с этой строкой: 03-19 10:23:38.039: W/PushEventsTransmitter(548): Нет android.permission.BROADCAST_STICKY. Возвращаясь к простой трансляции
Существует два способа передачи регистрации в приложение, и этот способ (широковещательный) еще не поддерживается плагином Phonegap Pushwoosh. Каким-то образом это изменение удалось выбраться...
Обновление до нового Pushwoosh.jar должно помочь. Пожалуйста, дайте мне знать, как все прошло.