Цитата |
---|
Глеб Глебов написал: Вопрос актуален по сей момент, кто сталкивался - отзовитесь. |
Цитата |
---|
Алексей Саморуков написал: Кто знает как сделать так что бы push уведомление открывало не главную приложения, а заданную? Откликнитесь. |
Мой Js Выглядит так:
Код |
---|
// запускаем таймер для проверки сообщений, хорошо, если бы существовал ивент на это дело var check_notifys_interval = setInterval('checkMyNotifys();',500); var lastNotificationObject = {}; var notificationParams = {}; function checkMyNotifys() { lastNotificationObject = {}; notificationParams = {}; lastNotificationObject = BXMobileApp.PushManager.getLastNotification(); // Проверяем, появился ли объект параметров if ("undefined" != typeof lastNotificationObject.params) { notificationParams = JSON.parse(lastNotificationObject.params); // Проверяем, появился ли объект редиректа, в который мы положим ссылку if ("undefined" != typeof notificationParams.params.redirect) { // Проверяем, не переходили ли мы уже, будем хранить в локале последний редирект (при переходе на след. страницу параметры могут сохраниться, если знаете как их удалять - пишите) var last_redirect = localStorage.getItem("last_redirect"); // location.href() - неправильный способ загрузки страницы // загружаем средствами мобильного АПИ новую страницу, добавляя её в стэк (иначе используем PageManager.loadPageStart ) if (last_redirect != notificationParams.params.redirect) { // если ещё не переходили по такой странице: // останавливаем таймер clearInterval(check_notifys_interval); BXMobileApp.PageManager.loadPageBlank({ url: notificationParams.params.redirect }); } localStorage.setItem("last_redirect", notificationParams.params.redirect); } } } |
Отправляем пуш на сервере например. так:
Код |
---|
if (CModule::IncludeModule("pull")) { $params = array("params"=>array("redirect"=>"/events/")); $arMessages = array(); $message = Array( "USER_ID" => 2, //Идентификатор пользователя "TITLE" => "Title", //заголовок, только для Android "APP_ID" => "MyAppID", //Идентификатор приложения "MESSAGE" => “У нас сегодня акция! Не пропусти!”, "EXPIRY" => 0, //время жизни уведомления на сервере Apple и Google "PARAMS"=> $params, // если передавать не строку, тогда преобразует в JSON - потом нужно парсить "BADGE" => 1 //счетчик на иконке приложения ); $arMessages[] = $message; $manager = new CPushManager(); $manager->SendMessage($arMessages); } |