【发布时间】:2018-09-03 01:27:40
【问题描述】:
首先,有人可以解释一下 OneSignal 的工作原理吗?当有人在我的 Firebase 数据库中插入内容时,我可以使用它来接收通知吗?
我需要在我的 Ionic 应用程序中使用 OneSignal 插件。我是通过
安装的 ionic cordova plugin add onesignal-cordova-plugin
然后我添加了我的app.components.ts这个
// OneSignal Code start:
// Enable to debug issues:
// window["plugins"].OneSignal.setLogLevel({logLevel: 4, visualLevel: 4});
var notificationOpenedCallback = function(jsonData) {
console.log('notificationOpenedCallback: ' + JSON.stringify(jsonData));
};
window["plugins"].OneSignal
.startInit("58c4f617-632a-.....", "5...")
.handleNotificationOpened(notificationOpenedCallback)
.endInit();
但是当我启动 ionic serve 时出现错误,它说
Uncaught (in promise): TypeError: Cannot read property 'OneSignal' of undefined
TypeError: Cannot read property 'OneSignal' of undefined
我搜索了所有网络,但似乎包含此插件的过程是以前的,所以我无法理解为什么它不起作用。我也在android.json 和fetch.json 文件中查看了我的插件文件夹。我可以把它们贴在这里。
android.json
"onesignal-cordova-plugin": {
"PACKAGE_NAME": "io.ionic.starter"
}
fetch.json
"onesignal-cordova-plugin": {
"source": {
"type": "registry",
"id": "onesignal-cordova-plugin"
}
我也安装了"@ionic-native/onesignal": "^4.6.0",,但我不知道我是否也需要它。
【问题讨论】:
-
从项目中删除 .sourcemaps 和 www 文件夹,然后再次运行 ionic serve
-
不行
-
尝试添加 npm 包并再次运行 serve:npm install --save @ionic-native/onesignal
-
我更新了我已经尝试安装该软件包的帖子,但它给了我同样的错误
-
你解决了吗?
标签: typescript ionic3 onesignal