Мое приложение (html / JS с Cordova / Phonegap) получает push от системы OneSignal, все работает нормально.
Я отправляю каждый раз небольшую переменную (AdditionalData), чтобы после нажатия на уведомление, мойприложение откроется и определенное действие будет выполнено.Эта переменная хранится в сеансе sessionStorage, поэтому его можно использовать везде, где я хочу, в моем приложении.
В моем index.js в onDeviceready у меня есть:
var notificationOpenedCallback = function(jsonData) {
sessionStorage.setItem('pushToLoad', JSON.stringify(jsonData.notification.payload.additionalData.ADDITIONALVAR));
};
window.plugins.OneSignal
.startInit("USER CODE")
.handleNotificationOpened(notificationOpenedCallback)
.endInit();
Затем вфайл с именем function.js Я просто анализирую переменную и выполняю свои действия в соответствии с ее значением.
Как:
if(sessionStorage.getItem('pushToLoad') == 'blabla') { do stuff }
На Android все работает отлично!Но на iOS моя переменная пуста / пуста, я не знаю почему, я пробовал много кода, и ничего не работает.
alert('Push var > ' + sessionStorage.getItem('pushToLoad'));
На iOS возвращается «ноль».
Спасибо за помощь.