web-dev-qa-db-ja.com

1つのシグナルを使用してプッシュ通知を送信する方法+ PHP +サーバーAPI?

Androidアプリのプッシュ通知を送信するために1つの信号を使用しています。私の質問は

サーバーレストAPIを使用してプッシュ通知を送信するように設定するにはどうすればよいですか?

5
user3544256
<?PHP
function sendMessage(){
    $content = array(
        "en" => 'Testing Message'
        );

    $fields = array(
        'app_id' => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
        'included_segments' => array('All'),
        'data' => array("foo" => "bar"),
        'large_icon' =>"ic_launcher_round.png",
        'contents' => $content
    );

    $fields = json_encode($fields);
print("\nJSON sent:\n");
print($fields);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications");
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8',
                                               'Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    

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

    return $response;
}

$response = sendMessage();
$return["allresponses"] = $response;
$return = json_encode( $return);
print("\n\nJSON received:\n");
print($return);
print("\n");
?>
13
Kishan

あなたはいつでも公式のドキュメントを参照することができます:

https://documentation.onesignal.com/reference#section-example-code-create-notification

  • 'app_id'は現在、OneSignal設定->キーとIDで(OneSignal App ID)として知られています

  • 「Authorization:Basic xxx ...」で、アプリIDのすぐ下の「REST APIキー」を過ぎて

4
Ahmed Albarody

IsAndroid = trueが設定されているようですが、OneSignalがID eec33e8e-5774-4b74-9aae-37370778c4b2のアプリケーションでAndroid通知が有効になっていないことを示すエラーを返しています。

アプリIDが正しいことを確認し、正しい場合はAndroid通知がOneSignal設定で有効になっています。

2
Gdeglin