Example #1
0
 /**
  * Create payload hash for message
  *
  * @param MessageInterface $message
  *
  * @return string
  *
  * @throws SendException
  */
 public function createPayload(MessageInterface $message)
 {
     $payload = pack('CNNnH*', 1, $message->getIdentifier(), $message->getExpires()->format('U'), 32, $message->getDeviceToken());
     $jsonData = $this->createJsonPayload($message);
     $payloadSize = strlen($jsonData);
     // Check payload size
     if ($payloadSize > 2048) {
         throw new SendException(SendException::ERROR_INVALID_PAYLOAD_SIZE, 1, $message->getIdentifier(), $message);
     }
     $payload .= pack('n', $payloadSize);
     $payload .= $jsonData;
     return $payload;
 }