我的Ionic应用程序抛出一个"没有方法' startInit'"使用OneSignal时出错

时间:2016-09-29 20:02:59

标签: ionic-framework onesignal

在我的Ionic智能手机应用中,我使用OneSignal来处理推送通知。根据一些OneSignal文档,我需要像这样初始化他们的插件:

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-plugin --save",所以我应该使用他们的最新版本。 (根据我的config.xml安装版本~1.13.2)。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

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

的旧文档

修改

SDK的新版本现已推出,您可以获取它here。新文档也是here

答案 1 :(得分:0)

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