示例#1
0
 /**
  * @param Message $message
  * @param RecipientInterface|AppleDeviceRecipient $recipient
  * @codeCoverageIgnore
  */
 public function send(Message $message, RecipientInterface $recipient)
 {
     $appleMessage = new AppleMessage();
     $appleMessage->setBody((string) $message->getBody());
     $appleMessage->setDeviceToken($recipient->getToken());
     $appleMessage->setCustomData($message->getExtra());
     $notification = new Notification($this->connection);
     $notification->send($appleMessage);
 }
示例#2
0
<?php

include_once __DIR__ . '/../autoload.php';
if (!class_exists('AMQPConnection')) {
    \Demo::error('Please install PHP Amqp Extension for run this demo (AMQP Queue).');
}
use Apple\ApnPush\Notification\Notification;
use Apple\ApnPush\Notification\Message;
use Apple\ApnPush\Notification\Connection;
use Apple\ApnPush\Queue\Amqp;
// Create connection
$connection = new Connection(CERTIFICATE_FILE, PASS_PHRASE, SANDBOX_MODE);
// Create notification
$notification = new Notification($connection);
// Create message
$message = new Message();
$message->setBody('[Amqp queue] Hello world')->setDeviceToken(DEVICE_TOKEN);
// Create amqp queue and send message
$amqp = Amqp::create($notification);
$amqp->addMessage($message);
 /**
  * Create message
  */
 public static function createMessage($body, $identifier = null, $deviceToken = null)
 {
     $message = new Message();
     $message->setBody($body);
     if ($identifier !== null) {
         $message->setIdentifier($identifier);
     }
     if ($deviceToken !== null) {
         $message->setDeviceToken($deviceToken);
     } else {
         $message->setDeviceToken(str_repeat('af', 32));
     }
     return $message;
 }