/** * 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; }
$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. $message->setLocArgs(array('Steve', 5)); // Set the filename of an image file in the application bundle. $message->setLaunchImage('DefaultAlert.png'); // Add the message to the message queue $push->add($message); // Send all messages in the message queue $push->send(); // Disconnect from the Apple Push Notification Service $push->disconnect(); // Examine the error message container