通知打开时未调用 OneSignal Ionic 回调函数
OneSignal Ionic Callback function not being called on notification open
我正在使用离子框架。
我已成功注册并能够收到通知。
但是当我打开通知时,我的回调函数没有被调用。
它只是在第一个 init() 时被调用。
设备准备就绪后,我已将代码放在 app.js 运行 function() 中。
我搜索了几个论坛,但找不到任何解决方案。
下面是代码:
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
var notificationOpenedCallback = function(jsonData) {
console.log('didReceiveRemoteNotificationCallBack: ' + JSON.stringify(jsonData));
if (jsonData.additionalData && jsonData.additionalData.targetUrl) {
var state = $injector.get($state);
$state.go(jsonData.additionalData.targetUrl);
}
};
window.plugins.OneSignal.init("MY-API_KEY", {
googleProjectNumber: "MY-GOOGLE-PROJECT-NUMBER",
autoRegister: true
},
notificationOpenedCallback({title: 'test'}));
window.plugins.OneSignal.setSubscription(true);
window.plugins.OneSignal.enableNotificationsWhenActive(true);
// oneSignal.init();
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
回调函数仅在应用程序首次启动并调用 init 时触发。
当我打开收到的通知时,不会触发回调函数。
我这样做只是为了 android。有人可以帮我吗?
以下是离子信息:
科尔多瓦 CLI:6.2.0
Gulp 版本:CLI 版本 3.9.0
Gulp 本地:
离子框架版本:1.2.4
离子 CLI 版本:1.7.15
离子应用程序库版本:0.7.2
OS:
节点版本:v4.4.1
谢谢
您需要更改以下代码:
window.plugins.OneSignal.init("50d4a379-9e94-44cf-bba8-06b6bbc312da", {
googleProjectNumber: "724048084872",
autoRegister: true
},
notificationOpenedCallback({title: 'test'}));
收件人:
window.plugins.OneSignal.init("50d4a379-9e94-44cf-bba8-06b6bbc312da", {
googleProjectNumber: "724048084872",
autoRegister: true
},
notificationOpenedCallback);
我正在使用离子框架。 我已成功注册并能够收到通知。 但是当我打开通知时,我的回调函数没有被调用。 它只是在第一个 init() 时被调用。 设备准备就绪后,我已将代码放在 app.js 运行 function() 中。 我搜索了几个论坛,但找不到任何解决方案。 下面是代码:
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
var notificationOpenedCallback = function(jsonData) {
console.log('didReceiveRemoteNotificationCallBack: ' + JSON.stringify(jsonData));
if (jsonData.additionalData && jsonData.additionalData.targetUrl) {
var state = $injector.get($state);
$state.go(jsonData.additionalData.targetUrl);
}
};
window.plugins.OneSignal.init("MY-API_KEY", {
googleProjectNumber: "MY-GOOGLE-PROJECT-NUMBER",
autoRegister: true
},
notificationOpenedCallback({title: 'test'}));
window.plugins.OneSignal.setSubscription(true);
window.plugins.OneSignal.enableNotificationsWhenActive(true);
// oneSignal.init();
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
回调函数仅在应用程序首次启动并调用 init 时触发。 当我打开收到的通知时,不会触发回调函数。 我这样做只是为了 android。有人可以帮我吗?
以下是离子信息: 科尔多瓦 CLI:6.2.0 Gulp 版本:CLI 版本 3.9.0 Gulp 本地: 离子框架版本:1.2.4 离子 CLI 版本:1.7.15 离子应用程序库版本:0.7.2 OS: 节点版本:v4.4.1
谢谢
您需要更改以下代码:
window.plugins.OneSignal.init("50d4a379-9e94-44cf-bba8-06b6bbc312da", {
googleProjectNumber: "724048084872",
autoRegister: true
},
notificationOpenedCallback({title: 'test'}));
收件人:
window.plugins.OneSignal.init("50d4a379-9e94-44cf-bba8-06b6bbc312da", {
googleProjectNumber: "724048084872",
autoRegister: true
},
notificationOpenedCallback);