1

誰かが私を助けてくれることを願っています!私の英語で申し訳ありません;)私は次のPHPコードを持っています:

    //Android - Push Notification Variables
    $apiKey = '';

    //Android - Push Notification Service

    $registrationIDs = array();

    $abfrage = "SELECT id, registrationId, active FROM `push-android` WHERE active = 'true'";
    $ergebnis = mysql_query($abfrage) or die(mysql_error());
    while($row = mysql_fetch_object($ergebnis))
    {
        $id = $row->id;
        $registrationIDs[] = $row->registrationId;
    }
    $url = 'https://android.googleapis.com/gcm/send';

    $fields = array(
                    'registration_ids'  => $registrationIDs,
                    'data'              => array( "message" => $message ),
                    );

    $headers = array( 
                        'Authorization: key='.$apiKey,
                        'Content-Type: application/json'
                    );

    // Open connection
    $ch = curl_init();

    // Set the url, number of POST vars, POST data
    curl_setopt( $ch, CURLOPT_URL, $url );

    curl_setopt( $ch, CURLOPT_POST, true );
    curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );

    curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );

    // Execute post
    $result = curl_exec($ch);

    // Close connection
    curl_close($ch);

    $obj = json_decode($result);
    $return = $obj->{'failure'};

    print_r($obj);
?>

では、GCM から適切な応答を得て、データベースから無効な登録 ID を削除するにはどうすればよいでしょうか? Androidフォンにアプリをインストールし、通知を送信しましたが、うまくいきました。アプリをアンインストールした後、通知を送信すると、応答に次のように表示されます。

stdClass オブジェクト ([multicast_id] => 8.6408433884968E+18 [成功] => 1 [失敗] => 0 [canonical_ids] => 0 [結果] => 配列 ([0] => stdClass オブジェクト ([message_id] => 0:13813433954546524%df6f31cff9fd7ecd ) ) )

4

1 に答える 1