我正在使用 Phonegap Pushplugin 进行推送通知。在两种方法中都添加了日志。didRegisterForRemoteNotificationsWithDeviceToken
方法从未被执行。它甚至没有失败didFailToRegisterForRemoteNotificationsWithError
。不知道这里有什么问题。
我将 IOS 分发证书(不是 APN)上传到 steroids 构建服务,并将 APN Prod 配置文件上传到 AdHoc 构建。我收到推送通知的提示,我可以看到我的应用程序启用了通知。问题是,我没有得到令牌。
查看了以下链接的调试步骤
我正在使用以下代码进行注册。
function registerDevice(){
var pushNotification = window.plugins.pushNotification;
pushNotification.register(
tokenHandler,
errorHandler, {
"badge":"true",
"sound":"true",
"alert":"true",
"ecb":"onNotificationAPN"
});
}
var onNotificationAPN = function(event) {
var pushNotification = window.plugins.pushNotification;
if ( event.alert )
{
navigator.notification.alert(event.alert);
}
if ( event.sound )
{
var snd = new Media(event.sound);
snd.play();
}
if ( event.badge )
{
pushNotification.setApplicationIconBadgeNumber(successHandler, errorHandler,
event.badge);
}
}
function tokenHandler (result) {
steroids.logger.log("Tokenhandler called with result");
steroids.logger.log(result);
alert(result);
}
function errorHandler (error) {
steroids.logger.log("errorHandler called with result");
steroids.logger.log(error);
alert('error = ' + error);
}
任何帮助表示赞赏。
更新 - 2014 年 7 月 30 日
我下载了 PersistentConnectionLogging.mobilecondig 并且能够看到生成的令牌。我能够使用此令牌向我的手机发送通知。
tokenHandler 和 onNotificationAPN 仍然没有被解雇。问题显然在 Cordova 方面或在我的 Javascript 中。
这个插件甚至可以在 Cordova 3.1/3.5 上运行吗?令人沮丧的是,这个插件没有社区支持。
有任何想法吗。