ios - 用于推送通知的 OneSignal 注册在 Cordova 中不起作用

标签 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 函数。

最佳答案

以上代码适用于旧版本的 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,运行:

cordova 插件 rm onesignal-cordova-plugin cordova插件添加onesignal-cordova-plugin

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

最后,查看Github示例对比代码: Cordova 示例:https://github.com/OneSignal/OneSignal-Cordova-Example ionic 示例:https://github.com/OneSignal/OneSignal-Ionic-Example

关于ios - 用于推送通知的 OneSignal 注册在 Cordova 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30068220/

相关文章:

ios - 使用反余弦的线之间的绝对角度

ios - 如何卡住文本域的编辑?

iphone - 所有 View 中的 ui 导航栏

iphone - ios 的 Cordova 3.0.0 ActionSheet 插件无法正常工作

android - 手机间隙 android 应用程序中页面的每日更新

ios - 确定小部件是否已启用

javascript - 如何使用 HTML5 Canvas 和 JavaScript 裁剪图像以离线裁剪图像?

push-notification - 如何从asp.net webapi向 ionic 应用程序发送一个信号通知

javascript - 如何使用 web(js) 在 OneSignal 中设置 External_User_Id?

java - Android OneSignal通知无法打开 "Closed"应用程序