推送通知的OneSignal注册表在Cordova中不起作用

时间:2015-05-06 05:27:14

标签: ios cordova onesignal

根据OneSignal的网站,只需添加此代码即可让用户允许该应用接收推送通知:

window.plugins.OneSignal.registerForPushNotifications();

但它并没有显示出来。并且设备无法注册。

document.addEventListener("deviceready", function() {
            window.plugins.OneSignal.init( "project_id",
                                        {googleProjectNumber: "null_if_ios",
                                        autoRegister: false},
                                        mobile.didReceiveRemoteNotificationCallBack);

对于Android,这很好用。无需调用registerForNotifications函数。

1 个答案:

答案 0 :(得分:0)

以上代码适用于较旧版本的OneSignal Cordova SDK,请务必使用最新版本:https://documentation.onesignal.com/docs/cordova-sdk-setup

对于Cordova和Cordova变体,可以通过检查来解决许多问题:

  1. 您的OneSignal appID在引号之间没有任何额外空格。
  2. 您正在使用Cordova 6.4.0或更新版
  3. 如果使用CocoaPods,请确保安装了1.2.0或更高版本:https://documentation.onesignal.com/docs/cordova-sdk-setup#section-ios-requirements
  4. 您必须在实际设备上进行测试,而不是浏览器。
  5. 更新到最新版本的OneSignal SDK,运行:
  6. cordova plugin rm onesignal-cordova-plugin cordova plugin add onesignal-cordova-plugin

    许多用户只需要进行干净的构建即可删除错误。请参阅Cordova Variants故障排除指南:https://documentation.onesignal.com/docs/troubleshooting-cordova-variants

    最后,检查Github示例以比较代码: 科尔多瓦示例:https://github.com/OneSignal/OneSignal-Cordova-Example 离子示例:https://github.com/OneSignal/OneSignal-Ionic-Example