%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/pull/classes/general/pushservices/ |
Current File : //home/bitrix/www/bitrix/modules/pull/classes/general/pushservices/google_push.php |
<? class CGoogleMessage extends CPushMessage { public function __construct($sDeviceToken = null) { if (isset($sDeviceToken)) { $this->addRecipient($sDeviceToken); } } /** * Returns batch of the message * @return string */ public function getBatch() { $data = array( "data" => array( 'contentTitle' => $this->title, "contentText" => $this->text, "badge"=>$this->badge, "messageParams" => $this->customProperties, "category" => $this->getCategory(), "sound"=>$this->getSound(), ), "time_to_live" => $this->expiryValue, "registration_ids" => $this->deviceTokens ); $data = CPushManager::_MakeJson($data, "", true); $batch = "Content-type: application/json\r\n"; $batch .= "Content-length: " . CUtil::BinStrlen($data) . "\r\n"; $batch .= "\r\n"; $batch .= $data; return base64_encode($batch); } } class CGooglePush extends CPushService { function __construct() { $this->allowEmptyMessage = false; } /** * Returns the final batch for the Android's push notification * * @param array $messageData * * @return bool|string */ public function getBatch($messageData = Array()) { $arGroupedMessages = self::getGroupedByAppID($messageData); if (is_array($arGroupedMessages) && count($arGroupedMessages) <= 0) { return false; } $batch = $this->getBatchWithModifier($arGroupedMessages, ";3;"); if (strlen($batch) == 0) { return $batch; } return $batch; } /** * Gets message instance * @param $token * * @return CGoogleMessage */ function getMessageInstance($token) { return new CGoogleMessage($token); } } class CGooglePushInteractive extends CGooglePush { function __construct() { parent::__construct(); $this->allowEmptyMessage = true; } } ?>