示例#1
0
 /**
  * Send a push notification using ApnsPHP Library
  * @param string $deviceToken the push token for the mobile device
  * @param string $message the message to display
  * @param string $alertSound the audio file to play, otherwise use the default sound
  * @param string $unlockText if the device is locked, show "Slide to XXX" where XXX is the unlockText
  * @param int $badgeCount the number that should be shown on the springboard badge
  */
 public function SendWithApns($deviceToken, $messageText, $alertSound = 'default', $unlockText = '', $badgeCount = 0)
 {
     $output = new stdClass();
     $output->date = date('Y-m-d H:i:s');
     $output->success = false;
     $output->message = '';
     $push = new ApnsPHP_Push($this->sandboxMode ? ApnsPHP_Abstract::ENVIRONMENT_SANDBOX : ApnsPHP_Abstract::ENVIRONMENT_PRODUCTION, $this->certFilePath);
     $push->setProviderCertificatePassphrase($this->certPassphrase);
     $push->connect();
     $message = new ApnsPHP_Message_Custom($deviceToken);
     $message->setCustomIdentifier("message-1");
     // used to get error details if multiple messages are being sent
     $message->setText($messageText);
     $message->setSound($alertSound);
     $message->setExpiry(10);
     // timeout for connecting to push service
     $message->setActionLocKey($unlockText);
     // appended to "slide to " in the main unlock bar
     // $message->setLocKey(''); // override the text on the app lockscreen message
     $message->setBadge($badgeCount);
     $push->add($message);
     $push->send();
     $push->disconnect();
     // Examine the error message container
     $errors = $push->getErrors();
     $output->success = !empty($errors);
     if (!$output->success) {
         $output->message = print_r($errors, 1);
     }
     return $output;
 }
示例#2
0
date_default_timezone_set('Europe/Rome');
// Report all PHP errors
error_reporting(-1);
// Using Autoload all classes are loaded on-demand
require_once 'ApnsPHP/Autoload.php';
// Instanciate a new ApnsPHP_Push object
$push = new ApnsPHP_Push(ApnsPHP_Abstract::ENVIRONMENT_SANDBOX, 'server_certificates_bundle_sandbox.pem');
// Set the Root Certificate Autority to verify the Apple remote peer
$push->setRootCertificationAuthority('entrust_root_certification_authority.pem');
// Connect to the Apple Push Notification Service
$push->connect();
// Instantiate a new Message with a single recipient
$message = new ApnsPHP_Message_Custom('1e82db91c7ceddd72bf33d74ae052ac9c84a065b35148ac401388843106a7485');
// Set a custom identifier. To get back this identifier use the getCustomIdentifier() method
// over a ApnsPHP_Message object retrieved with the getErrors() message.
$message->setCustomIdentifier("Message-Badge-3");
// Set badge icon to "3"
$message->setBadge(3);
// Set a simple welcome text
$message->setText('Hello APNs-enabled device!');
// Play the default sound
$message->setSound();
// Set a custom property
$message->setCustomProperty('acme2', array('bang', 'whiz'));
// Set the expiry value to 30 seconds
$message->setExpiry(30);
// Set the "View" button title.
$message->setActionLocKey('Show me!');
// Set the alert-message string and variable string values to appear in place of the format specifiers.
$message->setLocKey('Hello %1$@, you have %2$@ new messages!');
// This will overwrite the text specified with setText() method.