チュートリアル: Curl、APNS FCM、およびその他の拡張機能を使用して、PHP アプリケーションのグローバル メッセージ プッシュ機能を実装する
今日のデジタル時代では、グローバル メッセージ プッシュ機能は多くのアプリケーションの中核要件となっています。ソーシャル メディア アプリケーション、電子商取引プラットフォーム、ニュース クライアントのいずれであっても、それらはすべてリアルタイムの通知を送信し、ユーザーにメッセージをプッシュできる必要があります。このチュートリアルでは、PHP と Curl、APNS および FCM 拡張機能を使用してグローバル メッセージ プッシュ機能を実装する方法を紹介します。
ステップ 1: 準備
まず、PHP および Curl 拡張機能がサーバーにインストールされていることを確認します。 Curl はサーバーと通信するためのツールであり、これを使用して Apple および Google のプッシュ メッセージング サービスにプッシュ リクエストを送信します。次のコマンドを使用して Curl 拡張機能をインストールできます:
sudo apt-get install php-curl
次に、APNS と FCM に必要な証明書とキーを準備する必要があります。 APNS (Apple Push Notice Service) は Apple デバイスにプッシュ通知を送信するために使用され、FCM (Firebase Cloud Messaging) は Android デバイスにプッシュ通知を送信するために使用されます。
APNS の場合、Apple 開発者 Web サイトでプッシュ証明書を作成し、その証明書をサーバーにダウンロードする必要があります。次に、openssl コマンドを使用して、.p12 形式の証明書を PHP で使用できる .pem 形式のファイルに変換する必要があります。次のコマンドを使用して、.p12 証明書を .pem 証明書に変換します:
openssl pkcs12 -in cert.p12 -out cert.pem -nodes
FCM の場合は、Firebase 上に作成する必要がありますconsole プロジェクトを作成し、認証用のサーバーキーを取得します。 FCM PHP 拡張機能もインストールする必要があります。次のコマンドを使用して FCM PHP 拡張機能をインストールできます:
composer require brozot/laravel-fcm
ステップ 2: PHP コードを作成する
次に、Global を実装するための PHP コードを作成します。メッセージプッシュ機能。 Curl 拡張機能を使用して、APNS および FCM プッシュ サービスにリクエストを送信します。
まず、PHP ファイルの先頭に Curl 拡張機能を導入する必要があります:
... // 引入Curl扩展 ...
次に、送信する関数を作成する必要があります。リクエストをAPNSにプッシュします。この関数は、デバイスのトークン、プッシュ タイトル (タイトル) およびコンテンツ (本文) をパラメーターとして受け取り、プッシュ リクエストを APNS サーバーに送信します。
function sendAPNSPush($token, $title, $ body) {
// 创建推送通知数组 $data = [ 'aps' => [ 'alert' => [ 'title' => $title, 'body' => $body, ], 'sound' => 'default' ] ]; // 加载.pem证书文件 $cert = __DIR__ . '/cert.pem'; $passphrase = 'your_certificate_passphrase'; // 创建Curl实例 $ch = curl_init(); // 设置Curl选项 curl_setopt($ch, CURLOPT_URL, 'https://api.development.push.apple.com/3/device/' . $token); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $cert . ':' . $passphrase, ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 执行Curl请求 $result = curl_exec($ch); // 关闭Curl实例 curl_close($ch); // 返回结果 return $result;
}
次に、FCM にプッシュ リクエストを送信する関数を作成する必要があります。この関数は、デバイスのトークン、プッシュ タイトル (タイトル) およびコンテンツ (本文) をパラメータとして受け取り、プッシュ リクエストを FCM サーバーに送信します。
function sendFCMPush($token, $title, $ body) {
// 创建推送通知数组 $data = [ 'notification' => [ 'title' => $title, 'body' => $body, ], 'to' => $token, ]; // 创建Curl实例 $ch = curl_init(); // 设置Curl选项 curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: key=your_fcm_server_key', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行Curl请求 $result = curl_exec($ch); // 关闭Curl实例 curl_close($ch); // 返回结果 return $result;
}
ステップ 3: プッシュ リクエストを送信する関数を呼び出す
これで、PHP アプリケーションでこれらの関数を呼び出してプッシュ リクエストを送信し、グローバル メッセージのプッシュ関数を実装できるようになります。以下は例です:
... // 引入Curl扩展和APNS、FCM发送函数 ... // 设备令牌 $deviceToken = 'xxxxx'; // 推送标题 $pushTitle = '消息推送'; // 推送内容 $pushBody = '你收到一条新的消息'; // 发送APNS推送 $apnsResult = sendAPNSPush($deviceToken, $pushTitle, $pushBody); // 发送FCM推送 $fcmResult = sendFCMPush($deviceToken, $pushTitle, $pushBody); // 输出结果 echo 'APNS推送结果:' . $apnsResult; echo 'FCM推送结果:' . $fcmResult;
このようにして、Curl、APNS、および FCM 拡張機能を使用して、PHP アプリケーションのグローバル メッセージ プッシュ機能を正常に実装しました。これで、Apple デバイスと Android デバイスにプッシュ通知とプッシュ メッセージを送信できるようになりました。
結論
このチュートリアルでは、Curl、APNS、FCM などの拡張機能を使用して、PHP アプリケーションのグローバル メッセージ プッシュ機能を実装する方法を学びました。まず必要なサーバー環境と証明書キーを準備し、それらを PHP コードと統合しました。次に、プッシュ リクエストを送信する関数を記述し、実際にこれらの関数を呼び出すことで、グローバル メッセージ プッシュ機能が完成しました。この知識とスキルがあれば、アプリケーションに強力なプッシュ メッセージ機能を追加し、ユーザー エクスペリエンスを向上させることができます。
以上がチュートリアル: Curl、APNS+FCM、およびその他の拡張機能を使用して、PHP アプリケーションのグローバル メッセージ プッシュ機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。