我的Visual Studio 2017中有一个cordova项目。如果我运行 cordova要求 ,我会得到以下信息:
Java JDK:已安装1.8.0
Android SDK:已安装
Android目标:已安装android-19,android-21,android-22,android-23,android-26,Google Inc.:Google API:19,Google Inc.:Google API:23
Gradle:已安装
在chrome中调试工作完美,但在我的设备中我收到了以下错误:
“未捕获的TypeError:无法读取未定义的属性'getIds'”。
这是我的javascript代码片段:
function registerOneSignalDevice(callback) {
window.plugins.OneSignal.getIds(function (ids) {
setStorage("device_id", ids.userId);
setStorage("device_platform", device.platform);
if (callback != undefined) {
callback();
}
});
}
任何想法......
答案 0 :(得分:0)
OneSignal建议使用Cordova 6.4.0或更高版本。您可能还想更新到最新的OneSignal Cordova SDK。
在2.1.0版本中不推荐使用getIds方法。您应该更新到他们的SDK 2.2.5
对于Cordova和变体SDK,如ionic,Phonegap和IntelXDK,您可以使用getPermissionSubscriptionState方法和addSubscriptionObserver获取UserIds aka PlayerIds。
有关使用getPermissionSubscriptionState的更多信息,请参阅:https://documentation.onesignal.com/docs/cordova-sdk#section--getpermissionsubscriptionstate-
要添加订阅观察者,请参阅:https://documentation.onesignal.com/docs/cordova-sdk#section--addsubscriptionobserver-