我试图发送推送通知到多个ios设备,但当一个或多个令牌是无效的,它崩溃,不发送消息到其他设备,这是我的代码:
require_once "libs/ApnsPHP/Autoload.php";
$push = new ApnsPHP_Push(ApnsPHP_Abstract::ENVIRONMENT_PRODUCTION,'WenderCastPush.pem');
$pushdevices = array('499D3684-5039-4E56ACB7E285057E8568','21bff83127f8f307b307e828cfe4a65081b7468f980d17f9fbbda05785298c7d');
$push->connect();
foreach ($pushdevices as $device)
{
try{
$message = new ApnsPHP_Message($device);
$message->setCustomIdentifier("Message-Badge-3");
$message->setBadge(3);
$message->setText('Message Alert : Testing IOS');
$message->setSound();
$message->setExpiry(30);
$push->add(@$message);
}
catch(Exception $e)
{}
}
$push->send();
$push->disconnect();
为什么您接收到的设备令牌是无效的?要么是通过web服务发送令牌给你的开发人员搞砸了,要么是有问题。在你这边。简单的解决方案是,如果设备标记超过32个字节,则不保存它。