• Модуль: mobile
  • Путь к файлу: ~/bitrix/modules/mobile/lib/Push/DeviceChannel.php
  • Класс: BitrixMobilePushDeviceChannel
  • Вызов: DeviceChannel::send
public function send(int $userId, Message $message): Result
{
	$result = new Result();

	if (empty($message->getBody()))
	{
		return $result->addError(new Error('Message body cannot be empty'));
	}

	$sent = (new CPushManager())->sendMessage([
		[
			'USER_ID' => $userId,
			'APP_ID' => self::APP_ID,
			'EXPIRY' => 0,
			'PARAMS'=> [
				'command' => self::COMMON_MOBILE_PUSH_EVENT,
				'message'=> Json::encode($message),
			],
			'ADVANCED_PARAMS' => [
				'senderName' => $message->getTitle() ?: self::APP_ID,
				'senderMessage' => $message->getBody()
			]
		]
	]);

	if (!$sent)
	{
		$result->addError(new Error('An error occurred while sending a message through the Device Channel'));
	}

	return $result;
}