0

このコードを試しました。

function sendNotification( $apiKey, $registrationIdsArray, $messageData )
{   
    $headers = array("Content-Type:" . "application/json", "Authorization:" . "key=" . $apiKey);
    $data = array(
        'data' => $messageData,
        'registration_ids' => $registrationIdsArray
    );

    $ch = curl_init();

    curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); 
    curl_setopt( $ch, CURLOPT_URL, "https://android.googleapis.com/gcm/send" );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($data) );

    $response = curl_exec($ch);
    curl_close($ch);

    return $response;
}

そして、この関数を呼び出すには:

$message      = "the test message";
$tickerText   = "ticker text message";
$contentTitle = "content title";
$contentText  = "content body";

$registrationId = 'APA91bEgsAG3vmliDnJE7jfLAOGSUv3K9p41MkNranPFV4EY0svABRax8NY5oulOHv7s3v2Ks_bQutsLLw8j4mHOr5LkrRlFfXxfs3hxxwAlxIOG7cXCB4YPhlLCDspVtImyWBL_znGgkZzEWCncV3tidHMV'; (Id is wrong here for security reasons)
$apiKey = "AIzaSyD6kZoY3Qb_1ut57IEmwdRg0JuxC42W1"; (Key is wrong here for security reasons)

$response = sendNotification( 
                $apiKey, 
                array($registrationId), 
                array('message' => $message, 'tickerText' => $tickerText, 'contentTitle' => $contentTitle, "contentText" => $contentText) );

echo $response;

そして今、私は立ち往生しています。デバイスの独自の登録 ID と Google API キーを使用して PHP ページを作成するだけです。

しかし、次のエラーが表示されます: Unauthorized Error 401

この URL http://vbought.com/sendnotification.phpを実行すると

GCMリファレンスにサーバーIPとドメイン名を追加しました

.vbought.com/

*.vbought.com

50.87.3.82

私が間違ったことはありますか?それとも知る必要がありますか?唯一のデバイスに 1 つのメッセージを送信しようとしています。

ありがとうございました!(あらかじめ)

4

1 に答える 1

1

私は答えを見つけました。答えは、GCM で何も定義する必要がないということです。ドメイン名とIPアドレスを定義したように。だから私は何もする必要はありません。空白のままにしておくと、魅力的に機能します...

ごきげんよう :)

于 2014-09-17T11:25:57.210 に答える