gpt4 book ai didi

Cordova 推送插件 : ecb not called

转载 作者:行者123 更新时间:2023-12-02 11:14:08 26 4
gpt4 key购买 nike

我正在尝试检索设备注册 ID,以便从我的后端向其发送通知。

我已经尝试过几次:

  1. 在我的对象之外

GambifyApp.NotificationManager = window.GambifyApp.NotificationManager = Ember.Object.extend({
init: function(){
var pushNotification = window.plugins.pushNotification;
window.GambifyApp.NotificationHandler = GambifyApp.NotificationHandler;
if ( device.platform == 'android' || device.platform == 'Android' )
{
console.log('pushNotification Register');
pushNotification.register(
this.successHandler,
this.errorHandler, {
"senderID":GambifyApp.config.android_sender_id,
"ecb":"window.externalOnNotificationGCM"
});
},
});

window.externalOnNotificationGCM = function (e) {
console.log('reg id:' + e.regid);
};

  • 方法在另一个对象内部(除了 ECB 之外,一切都保持不变:

    "ecb":"window.GambifyApp.NotificationHandler.onHandler"
  • 这是我放置处理程序的位置:

    GambifyApp.NotificationHandler =  window.GambifyApp.NotificationHandler = {
    onHandler: function(e){
    console.log('onHandler:');
    if(e.event == "registered") {
    console.log('reg id:' + e.regid);
    }
    console.log(e);
    }
    }
  • 我最后的方法

    "ecb":"GambifyApp.NotificationManager.onNotificationGCM"
  • 这里添加了管理器类:

    GambifyApp.NotificationManager = window.GambifyApp.NotificationManager = Ember.Object.extend({
    /* ...... */

    onNotificationGCM: function(e){
    console.log('MESSAGE received:');
    console.log(e);
    }
    });

    我也尝试过不使用窗口对象等。我的成功处理程序总是被触发,但从未触发 ECB。

    最佳答案

    通过将 ecb 指定为 window.GambifyApp.NotificationHandler.onNotificationGCM 解决了该问题:

    pushNotification.register(
    this.successHandler,
    this.errorHandler, {
    "senderID":GambifyApp.config.android_sender_id,
    "ecb":"window.GambifyApp.NotificationHandler.onNotificationGCM"
    }
    );

    关于 Cordova 推送插件 : ecb not called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26630558/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com