Javascript 未捕获类型错误:无法读取属性';getid';window.plugins.OneSignal.getIds中未定义的
我的Visual Studio 2017中有一个cordova项目。如果我运行科尔多瓦要求,我会得到以下信息: Java JDK:已安装1.8.0Javascript 未捕获类型错误:无法读取属性';getid';window.plugins.OneSignal.getIds中未定义的,javascript,visual-studio-cordova,onesignal,Javascript,Visual Studio Cordova,Onesignal,我的Visual Studio 2017中有一个cordova项目。如果我运行科尔多瓦要求,我会得到以下信息: Java JDK:已安装1.8.0 Android SDK:已安装 Android目标:已安装Android-19、Android-21、Android-22、Android-23、Android-26、谷歌公司:谷歌API:19、谷歌公司:谷歌API:23 格雷德尔:已安装 在chrome中调试工作非常完美,但在我的设备中,我发现以下错误: “未捕获的TypeError:无法读取未定
Android SDK:已安装
Android目标:已安装Android-19、Android-21、Android-22、Android-23、Android-26、谷歌公司:谷歌API:19、谷歌公司:谷歌API:23
格雷德尔:已安装 在chrome中调试工作非常完美,但在我的设备中,我发现以下错误: “未捕获的TypeError:无法读取未定义的属性“GetId”。 这是我的javascript代码片段:
function registerOneSignalDevice(callback) {
window.plugins.OneSignal.getIds(function (ids) {
setStorage("device_id", ids.userId);
setStorage("device_platform", device.platform);
if (callback != undefined) {
callback();
}
});
}
任何想法…OneSignal建议使用Cordova 6.4.0或更新版本。您可能还需要更新到最新的OneSignal Cordova SDK getIds方法在2.1.0版本中被弃用。您应该更新到他们的SDK 2.2.5 对于Cordova和ionic、Phonegap和IntelXDK等变体SDK,您可以使用getPermissionSubscriptionState方法和addSubscriptionObserver获取用户ID,即PlayerID 有关使用getPermissionSubscriptionState的详细信息,请参阅:
有关添加订阅观察员的信息,请参见:尝试使用if并检查Onesignal!=未定义感谢回答,当我检查您的建议返回时,OneSigna未定义。可能是因为我的Cordova版本,目前是6.3.1,由visual studio 2017默认安装。在这种情况下,是否有能力在visual studio 2017中升级Cordova版本?