27  /  105

Уведомления

Просмотров: 18180
Дата последнего изменения: 29.10.2021
Александр Суворов
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
1
2
3
4
5

  Отправка уведомлений

Для каждого сервиса логика отправки уведомлений разная, поэтому механизм отправки нужно реализовать самостоятельно. Для отправки уведомлений используется класс CPushManager модуля Push&Pull.

Пример кода отправки:

if (CModule::IncludeModule("pull"))
{
	$arMessages = array();
	$message = Array(
		"USER_ID" => 2, //Идентификатор пользователя
		"TITLE" => "Title", //заголовок, только для Android
		"APP_ID" => "MyAppID", //Идентификатор приложения
		"MESSAGE" => “У нас сегодня акция! Не пропусти!”,
		"EXPIRY" => 0, //время жизни уведомления на сервере Apple и Google
		"PARAMS"=>array("PARAMS"=>array("tst"=>"1")),
		"BADGE" => 1 //счетчик на иконке приложения
	);


	$arMessages[] = $message;
	$manager = new CPushManager();
	$manager->SendMessage($arMessages);
}

Важным является ключ PARAMS. Данные по этому ключу помогут обработать открытие уведомления пользователем.

Внимание! Если один пользователь авторизован в мобильном приложении на нескольких устройствах, то push'и будет отправлены на все устройства для которых в b_pull_push указан USER_ID этого пользователя. Выполнить отправку на какое то определенное устройство по его device_token нет возможности.

  Обработка уведомлений

После получения уведомления на свое устройство пользователь может проигнорировать его, а может перейти по нему в приложение, в этом случае вы можете обработать этот переход. Например, можно открыть пользователю нужную страницу или показать определенное сообщение, зафиксировать переход по уведомлению у себя на сервере и многое другое.

На стартовой странице нужно разместить javascript-код следующего вида:

var lastNotification = BXMobileApp.PushManager.getLastNotification();

В переменной lastNotification будет объект данных уведомления, по которому пользователь перешел в приложение. В объекте будет ключ params, который вы отправляли через метод CPushManager::SendMessage().

  Дополнительно



3
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии