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

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

WBOY
リリース: 2023-07-24 13:50:01
オリジナル
1277 人が閲覧しました

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/<device_token>";
$headers = array(
    "Content-Type: application/json",
    "Authorization: Bearer <auth_token>"
);

$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」に設定します。 / <device_token>"。<device_token> はデバイスのプッシュ トークン、<auth_token> は APNS 認証トークンです。

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

$ch = curl_init();

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

$msg = array(
    "to" => "<device_token>",
    "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」に設定します。ここで <device_token> はデバイスのプッシュ トークン、<server_key> は FCM サーバー キーです。

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

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート