すでに APNS サーバーを easyAPNS で設定しています。証明書、アクセス許可、デバイスは正しく登録されており、メッセージ テーブルにメッセージが作成されています。しかし、問題は、キューに入れられたメッセージを取得しようとすると、class_APNS.php の関数:
private function _flushMessages(){
// only send one message per user... oldest message first
$sql = "SELECT
`apns_messages`.`pid`,
`apns_messages`.`message`,
`apns_devices`.`devicetoken`,
`apns_devices`.`development`
FROM `apns_messages`
LEFT JOIN `apns_devices` ON (`apns_devices`.`pid` = `apns_messages`.`fk_device` AND `apns_devices`.`clientid` = `apns_messages`.`clientid`)
WHERE `apns_messages`.`status`='queued'
AND `apns_messages`.`delivery` <= NOW()
AND `apns_devices`.`status`='active'
ORDER BY `apns_messages`.`created` ASC
LIMIT 100;";
$this->_iterateMessages($sql);
}
デバイスとメッセージのclientid 列の値が空であるため、メッセージapns_devices
をpid
反復しません。apns_messages
fk_device
apns_devices
clientid
apns_messages
clientid
メッセージの作成に使用する samples.php スニペット コードを次に示します。
$apns->newMessage(4);
$apns->addMessageAlert('Si us plau!!!');
$apns->addMessageCustom('acme2', array('bang', 'whiz'));
$apns->queueMessage();
本当にありがとうございました。
どうもありがとう。