Функция обратного вызова OneSignal Ionic не вызывается при открытии уведомления

Я использую Ionic Framework. Я успешно зарегистрировался и могу получать уведомления. Но моя функция обратного вызова не вызывается, когда я открываю уведомление. Он просто вызывается при первом вызове init(). Я поместил код в функцию запуска app.js() после того, как устройство будет готово. Я искал несколько форумов, но я не мог найти никакого решения. Ниже приведен код:

$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 Cordova: 6.2.0 Версия Gulp: Версия CLI 3.9.0 Gulp local: Версия Ionic Framework: 1.2.4 Версия Ionic CLI: 1.7.15 Версия Ionic App Lib: 0.7.2 ОС: Версия Node: v4.4.1

Спасибо


person Gopalaiah Vinay    schedule 08.07.2016    source источник


Ответы (1)


Вам необходимо изменить следующий код:

window.plugins.OneSignal.init("50d4a379-9e94-44cf-bba8-06b6bbc312da", { 
  googleProjectNumber: "724048084872", 
  autoRegister: true 
}, 
notificationOpenedCallback({title: 'test'}));

TO:

window.plugins.OneSignal.init("50d4a379-9e94-44cf-bba8-06b6bbc312da", { 
  googleProjectNumber: "724048084872", 
  autoRegister: true 
}, 
notificationOpenedCallback);
person Gdeglin    schedule 08.07.2016