2016-09-29 61 views
1

在我的Ionic智能手机应用程序中,我使用OneSign来处理推送通知。根据一些OneSignal文档,我需要像这样初始化他们的插件:使用OneSignal时,我的离子应用程序会抛出“无法使用startInit'”错误

window.plugins.OneSignal.init(
    "b2f7f966-d8cc-11e4-bed1-df8f05be55ba", 
    {googleProjectNumber: "703322744261"}, 
    notificationOpenedCallback 
); 

这适用于我。但其他文档说我应该这样做:

window.plugins.OneSignal 
    .startInit("YOUR_APPID", "YOUR_GOOGLE_PROJECT_NUMBER_IF_ANDROID") 
    .handleNotificationReceived(function(jsonData) { 
     alert("Notification received:\n" + JSON.stringify(jsonData)); 
     console.log('Did I receive a notification: ' + JSON.stringify(jsonData)); 
    }) 
    .endInit(); 

这就是我宁愿做,因为我真的很想说,“handleNotificationReceived”选项,而不仅仅是“notificationOpenedCallback”选项。但它不适合我。我得到一个Javascript错误,说“方法”startInit“不存在于”window.plugins.OneSignal“对象。这是正确的。没有方法“startInit”,那么如何使用调用它的代码?

那么我做错了什么?我没有使用最新版本的OneSignal吗?我只是跑“离子插件添加onesignal-cordova插件 - 保存”,所以我应该使用他们的最新版本。 (它根据我的config.xml安装版本〜1.13.2)。

我该如何解决这个问题?

回答

1

较新的2. +版本的SDK尚未推出。你应该参考旧文档此here

编辑

SDK的新版本是现在出来,你可以得到它here。另外新的文档是here

0

得到同样的问题。您可以尝试重新安装插件或再次添加平台android/ios。这对我有效。

+0

是的,重新安装为你工作,因为现在他们实际上发布了第2版。 – Magmatic

相关问题