2

PHPのプッシュ通知スクリプトに問題がありますが、トークンに依存しています。

変換後 (pack() を使用) に 2 行に表示されるトークンがいくつかあります。

したがって、ソケットに書き込むと、残りのパケットはすべてプッシュを受け取りません。

4 つのトークンを使用する非常に単純なスクリプトを試しました。

非常に奇妙なトークンがあります: "2f9c2239c85e4705171e379691ace8fd0e68ad984912de530a1f969ebb655fd7" これにプッシュを送信しようとすると、何も送信されません。

このトークンを最後に配置すると、最初のトークンがプッシュを受信し、2 番目の位置に配置すると、最初のデバイスのみがプッシュを受信します....

デバッグ中に改行が表示されますが、それが問題かどうかはわかりません

Token : string(64) "2f9c2239c85e4705171e379691ace8fd0e68ad984912de530a1f969ebb655fd7"
Concersion: string(131) " /�"9�^G7�����h��I�S
���e_�^{"aps":{"alert":"Xxxxx XX - Test -               Push"},"main_node_id":"756516","contentobject_id":"634997"}"

Token: string(64) "b0ddb6a64fb546494d14759d1f62050fa6bab81a8bd34a2448eb9c6a650adc21"
Conversion: string(131) " �ݶ�O�FIMu�b�����J$H�je
�!^{"aps":{"alert":"Xxxxx XX - Test -    Push"},"main_node_id":"756516","contentobject_id":"634997"}"

Token : string(64) "3a7c392fc642b946a5604579ef3fce8174dcb9eb70688d9d429ab3000427638a"
Conversion: string(131) " :|9/�B�F�`Ey�?΁tܹ�ph��B��'c�^{"aps":{"alert":"Xxxxx XX - Test - Push"},"main_node_id":"756516","contentobject_id":"634997"}"

Token : string(64) "2a4c36091a2169d1276e14d657b8d58a98b8a10b0376980adb8706ff87737ee4"
Conversion: string(131) " *L6     !i�'n�W�Պ���
                                v�
ۇ��s~�^{"aps":{"alert":"Xxxxx XX - Test -  Push"},"main_node_id":"756516","contentobject_id":"634997"}"

これがソケットに送信されるパケットを作成するための私のPHP関数です:(私は他のライブラリで試しました..それは同じでした)

protected function _buildPacket( array $body, $token ) {
    $payload = json_encode( $body );
    return chr( 0 ) . pack( "n", 32 ) . pack( 'H*', str_replace( ' ', '', $token ) ) . pack( "n", strlen( $payload ) ) . $payload;
}

あなたはすでにそれを見ましたか?

同じソケットを再利用することに注意してください。このトークンは何かを壊しますが、何がわかりません。

ご協力ありがとうございました

4

1 に答える 1