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¶m2=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 サイトの他の関連記事を参照してください。