| Цитата |
|---|
| Глеб Глебов написал: Вопрос актуален по сей момент, кто сталкивался - отзовитесь. |
| Цитата |
|---|
| Алексей Саморуков написал: Кто знает как сделать так что бы 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);
} |