gpt4 book ai didi

Cordova PushPlugin 注册出现错误

转载 作者:行者123 更新时间:2023-12-02 14:03:37 25 4
gpt4 key购买 nike

我正在使用 PubNub 在移动设备中推送通知。我在我的项目中使用了以下代码。按照以下链接的指示。

https://www.pubnub.com/blog/2014-12-18-sending-android-push-notifications-via-gcm-javascript-using-phonegap/

var pushNotification = window.plugins.pushNotification;

pushNotification.register(
successHandler,
errorHandler,
{
'senderID':'projectID'
}
);

function successHandler(result) {
alert('Success: '+ result);
}
function errorHandler(error) {
alert('Error: '+ error);
}

但是这个推送通知寄存器调用了errorHandler函数。它显示错误消息“找不到类”。

为什么我会收到此错误?

请推荐任何一个

新更新

根据上面的链接,我在我的 cordova 项目中添加了以下代码。

function initialize() {
bindEvents();
}
function bindEvents() {
document.addEventListener('deviceready', init, false);
}

function init() {
var pushNotification = window.plugins.pushNotification;
pushNotification.register(successHandler, errorHandler, {'senderID':'projectID','ecb':'onNotificationGCM'});
// Get your Sender ID at cloud.google.com/console
}

function successHandler(result) {
alert('Success: '+ result);
}

function errorHandler(error) {
alert('Error: '+ error);
}

function onNotificationGCM(e) {
switch( e.event ){
case 'registered':
if ( e.regid.length > 0 ){
console.log('regid = '+e.regid);
alert(e.regid);
}
break;

case 'message':
console.log(e);
if (e.foreground){
alert('The room temperature is set too high')
}
break;

case 'error':
alert('Error: '+e.msg);
break;

default:
console.log('An unknown event was received');
break;
}
}

initialize();

我在模拟器上运行这段代码。它只是成功调用 successHandler 函数“OK”。它没有调用回调函数onNotificationGCM,并且我没有获得注册的ID。

我的 cordova 项目代码背后的实际问题是什么。

请推荐我

最佳答案

您需要一个ecb事件回调函数,例如:

pushNotification.register(
successHandler,
errorHandler,
{
'senderID':'your_sender_id',
'ecb':'onNotificationGCM' // callback function
}
);

回调函数应如下所示:

function onNotificationGCM(e) {
case 'registered':
if (e.regid.length > 0){
deviceRegistered(e.regid);
}
break;
case 'message':
if (e.foreground){
// When the app is running foreground.
}
break;
case 'error':
console.log('Error: ' + e.msg);
break;
default:
console.log('An unknown event was received');
break;
}

此外,您还可以查看该插件的 GitHub 存储库上的 readme.md。请注意,该插件不再维护并标记为“已弃用”。

关于Cordova PushPlugin 注册出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34013693/

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