2015-09-17 1 views
0

liée à la question asked, je n'ai pas compris comment envoyer plusieurs messages à la fois.PHP Apple Push Notification: commande 2 Interface binaire et notification multi messages

the Binary frame image from Apple ios

Qu'en est-série d'articles?

Comment puis-je créer un article? et que des données d'un cadre?

i essayé

while ($row = mysqli_fetch_assoc($result)){ 
     //command 2 
    $msgInner = 
     chr(1) 
    . pack('n', 32) 
    . pack('H*', $row['device_token']) 

    . chr(2) 
    . pack('n', strlen($payload)) 
    . $payload 

    . chr(3) 
    . pack('n', 4) 
    . $row['id'] 

    . chr(4) 
    . pack('n', 4) 
    . pack('N', time() + 86400) 

    . chr(5) 
    . pack('n', 1) 
    . chr(10); 

    $framedata.=$msgInner; //to accumulate (probably wrong, and need binary packing) 
} 
    $msg= 
    chr(2) 
    . pack('N', strlen($framedata)) 
    . $framedata; 

il envoie seulement à la dernière ligne de mon résultat sql.

pouvez-vous s'il vous plaît me donner le format de paquet correct dans le code.

Répondre

0

Il est préférable de poser une question, c'est encore mieux si vous répondez à votre propre question, et peut-être que quelqu'un d'autre va apprendre. Afin d'envoyer plusieurs messages dans le nouveau format, vous devez envoyer les messages comme suit:

while ($row = mysqli_fetch_assoc($result)){ 
    $msgInner = 
         chr(1) 
        . pack('n', 32) 
        . pack('H*', $row['device_token']) 

        . chr(2) 
        . pack('n', strlen($payload)) 
        . $payload 

        . chr(3) //Notification identifier 
        . pack('n', 4) 
        . pack('N', $row['id']) 

        . chr(4) //Expiration date 
        . pack('n', 4) 
        . pack('N', time() + 86400) 

        . chr(5) //Priority 
        . pack('n', 1) 
        . chr(10); 

        $Imsg= 
         chr(2) //command 2 
         . pack('N', strlen($msgInner)) 
         . $msgInner; 

        $allmessages=$allmessages.$Imsg; 
}