0
我從iOS應用程序發送很多次通知。爲此,我使用APNS-PHP庫將它從服務器發送到Apple推送通知網關。蘋果推送通知網關連接,未收到通知
這是代碼。
public function publishAPush($requestBody){
try {
$toUserId=$requestBody->{KEY_USERID};
$toUserType=$requestBody->{KEY_USERTYPE};
$soundFileName=$requestBody->{"sound"};
$badge=$requestBody->{"badge"};
$customMessage=$requestBody->{"custom"};
$alertMesssage=$requestBody->{"alert"};
if(!empty ($toUserId)){
$push = new ApnsPHP_Push(
ApnsPHP_Abstract::ENVIRONMENT_SANDBOX,
'file.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($deviceToken);
// Set badge icon to "3"
$message->setBadge($badgeCount);
// Set a simple welcome text
$message->setText($alertMesssage);
// Play the default sound
$message->setSound($soundFileName);
$message->setCustomProperty("custom", json_encode($customMessage));
$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
$aErrorQueue = $push->getErrors();
if (!empty($aErrorQueue)) {
Logger::getRootLogger()->error("Apple Server Error= " . $aErrorQueue);
}else{
Logger::getRootLogger()->info("Message Send successfully to " . $toUserId);
}
}
} catch (Exception $exc) {
Logger::getRootLogger()->error("Publish a Push= " . $exc);
}
}
但它發生了很多次,我沒有收到他們,所以有什麼可能是一個可能的解決方案。是因爲我正在連接並斷開連接嗎?
什麼是更好的方式來寫這段代碼?
是的,當收到通知時,令牌被正確接收。 – weber67 2013-05-05 08:58:39