ホームページ  >  記事  >  バックエンド開発  >  Curl、APNS+FCM、その他の拡張機能を使用して、PHP アプリケーションの完全なプラットフォーム メッセージ プッシュ機能を実装します。

Curl、APNS+FCM、その他の拡張機能を使用して、PHP アプリケーションの完全なプラットフォーム メッセージ プッシュ機能を実装します。

WBOY
WBOYオリジナル
2023-07-24 13:49:271220ブラウズ

Curl、APNS FCM、およびその他の拡張機能を使用して、PHP アプリケーションのフルプラットフォーム メッセージ プッシュ機能を実装する

メッセージ プッシュは、今日のモバイル アプリケーション開発において不可欠な機能の 1 つです。 PHP 開発では、Curl、APNS (Apple Push Notification Service)、FCM (Firebase Cloud Messaging) など、さまざまな拡張機能を使用してプラットフォーム全体のメッセージ プッシュ機能を実装できます。

この記事では、Curl 拡張機能を使用して HTTP リクエストを送信する方法と、APNS と FCM を組み合わせてプラットフォーム全体のメッセージ プッシュ機能を実現する方法を紹介します。

Curl を使用して HTTP リクエストを送信する

Curl は、さまざまな種類の HTTP リクエストの送信に使用できる強力な PHP 拡張機能です。 Curl を使用して、APNS と FCM にプッシュ リクエストを送信できます。

まず、サーバーに Curl 拡張機能がインストールされていることを確認する必要があります。 Curl がインストールされているかどうかは、次のコマンドを実行することで確認できます。

php -m | grep curl

Curl 拡張機能がインストールされている場合は、「Curl」と出力されます。インストールされていない場合は、Curl 拡張機能をインストールする必要があります。

次に、Curl 拡張機能の curl_init() 関数を使用して、Curl セッションを初期化できます。

$ch = curl_init();

次に、 curl_setopt()URL、リクエストメソッド、リクエストヘッダーなど、Curl セッションのさまざまなオプションを設定する関数:

$url = "https://example.com";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "param1=value1&param2=value2");

上の例では、Curl セッションの URL を「https://」に設定します。 example.com 」では、リクエストメソッドは POST で、リクエストボディのパラメータが設定されています。

次に、curl_exec() 関数を使用して Curl セッションを実行し、応答結果を取得します。

$response = curl_exec($ch);

if ($response === false) {
    die("Curl error: " . curl_error($ch));
}

curl_close($ch);

上記のコードは Curl セッションを実行し、 $response 変数に格納された結果で応答します。リクエストが失敗した場合は、Curl エラー メッセージが出力されます。

APNS と FCM を組み合わせて完全なプラットフォームのメッセージ プッシュを実現する

Curl を使用して HTTP リクエストを送信するための基本的な知識を理解したので、APNS と FCM を組み合わせて完全なメッセージ プッシュを実装します。プラットフォームメッセージプッシュ機能。

まず、APNS と FCM に必要な証明書とキーを準備する必要があります。 APNS 証明書とキーの生成方法については Apple の公式ドキュメントを参照し、FCM キーの生成方法については Firebase の公式ドキュメントを参照してください。

APNS の場合、Curl 拡張機能を使用して HTTP/2 リクエストを Apple のプッシュ サービスに送信できます。以下は、APNS にプッシュ メッセージを送信するためのサンプル コードです:

$ch = curl_init();

$url = "https://api.development.push.apple.com/3/device/";
$headers = array(
    "Content-Type: application/json",
    "Authorization: Bearer "
);

$msg = array(
    "aps" => array(
        "alert" => "Hello, APNS!",
        "sound" => "default"
    )
);

$data = json_encode($msg);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if ($response === false) {
    die("Curl error: " . curl_error($ch));
}

curl_close($ch);

上記のコードでは、APNS の URL を「https://api.development.push.apple.com/3/device」に設定します。 / 9923ce7b441a2c0c992e46fd9215ce34"。9923ce7b441a2c0c992e46fd9215ce34 はデバイスのプッシュ トークン、36e0d36ede73ea90a4d96262fcba1a08 は APNS 認証トークンです。

FCM の場合、Curl 拡張機能を使用して HTTP リクエストを Firebase のクラウド メッセージング サービスに送信できます。以下は、FCM にプッシュ メッセージを送信するためのサンプル コードです。

$ch = curl_init();

$url = "https://fcm.googleapis.com/fcm/send";
$headers = array(
    "Content-Type: application/json",
    "Authorization: key="
);

$msg = array(
    "to" => "",
    "notification" => array(
        "title" => "Hello, FCM!",
        "body" => "This is a test message"
    )
);

$data = json_encode($msg);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if ($response === false) {
    die("Curl error: " . curl_error($ch));
}

curl_close($ch);

上記のコードでは、FCM の URL を「https://fcm.googleapis.com/fcm/send」に設定します。ここで 9923ce7b441a2c0c992e46fd9215ce34 はデバイスのプッシュ トークン、85c08aaaf6f503a242aa2262500ed0e5 は FCM サーバー キーです。

上記のコード例を通じて、Curl、APNS、および FCM を組み合わせて、PHP アプリケーションの完全なプラットフォーム メッセージ プッシュ機能を実装できます。 APNS プッシュを iOS デバイスに送信する場合でも、FCM プッシュを Android デバイスに送信する場合でも、Curl 拡張機能を使用して HTTP リクエストを送信し、完全なプラットフォーム メッセージ プッシュ機能を簡単に実装できます。

以上がCurl、APNS+FCM、その他の拡張機能を使用して、PHP アプリケーションの完全なプラットフォーム メッセージ プッシュ機能を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。