グローバルアプリケーションの急速な開発により、効率的かつリアルタイムのメッセージプッシュ機能を提供することは、ユーザーエクスペリエンスの重要な部分になりました。柔軟なバックエンド言語として、PHPはCurl、APNS、FCMなどの拡張コンポーネントを統合することにより、クロスプラットフォームメッセージングサービスを簡単に構築できます。この記事では、この関数を詳細に実装する完全なプロセスを紹介します。
正式な開発の前に、サーバー環境に次のコンポーネントがインストールされていることを確認してください。
公式のPHPドキュメントでのCurlのインストールに関する詳細な指示を取得できますが、APNS証明書とFCMサービスキーの準備が整っていることを確認できます。
Curlは、HTTPリクエストをリモートサーバーに送信するための強力なツールです。 Curlを使用してPush Requestをプッシュサーバーに送信するサンプルコードは次のとおりです。
// 作成するCurlハンドル
$ch = curl_init();
// 設定URLその他のパラメーター
curl_setopt($ch, CURLOPT_URL, 'https://api.push.example.com/send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['message' => 'Hello World']));
// リクエストを実行します
$response = curl_exec($ch);
// 接続を閉じます
curl_close($ch);
この例は、自己構築されたプッシュサービスまたはサードパーティのプッシュプラットフォームとの統合に適した、応答コンテンツを投稿して受信してメッセージデータを送信する方法を示しています。
Apple Push Notification Service(APNS)は、iOS、iPados、その他のデバイスに適したAppleが提供する公式プッシュサービスです。これが基本的な例です。
// 作成するAPNS接続する
$apns = new Apns('apns.pem');
// 設定消息内容及装置Token
$apns->setMessage('Hello iPhone', 'device_token');
// プッシュを送信します
$apns->send();
APNを使用するには、事前に証明書を申請し、プッシュ環境を構成する必要があります。このコードは、APNSクラスライブラリが統合されているシナリオに適しています。
Firebase Cloudメッセージング(FCM)はGoogleによって提供され、AndroidおよびWebプラットフォームのプッシュをサポートしています。基本的な実装方法は次のとおりです。
// 作成するFCM接続する
$fcm = new Fcm('fcm_key');
// 設定消息内容及装置Token
$fcm->setMessage('Hello Android', 'device_token');
// プッシュを送信します
$fcm->send();
サービスキーを取得し、Firebaseコンソールでプロジェクトを構成する必要があります。上記のコードは、カプセル化されたFCMクラスに適用されます。
フルプラットフォームのメッセージプッシュを実現するには、通常、ユーザーデバイスタイプに従って異なるプッシュサービスを呼び出す必要があります。 1つのリクエストでCurl、APN、FCMを統合する方法を示す例を以下に示します。
// 使用Curl通知リクエストを送信します
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.push.example.com/send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['message' => 'Hello World']));
$response = curl_exec($ch);
curl_close($ch);
// APNS押すiOS装置
$apns = new Apns('apns.pem');
$apns->setMessage('Hello iPhone', 'device_token');
$apns->send();
// FCM押すAndroid装置
$fcm = new Fcm('fcm_key');
$fcm->setMessage('Hello Android', 'device_token');
fcm->send();
このようにして、開発者はデバイスプラットフォームに応じて適切なプッシュメソッドを柔軟に選択できるため、完全なメッセージカバレッジを実現できます。
この記事の説明を通して、PHPおよびAPNSおよびFCMサービスでCurl拡張機能を使用して、グローバルユーザーをサポートするメッセージプッシュシステムをすばやく構築する方法を学びました。 IOSに通知を送信したり、Androidにメッセージを押したりするか、自己構築されたAPIに接続している場合でも、PHPは安定したサポートを提供できます。クロスプラットフォームアプリケーションを構築している場合、これらのテクノロジーの組み合わせにより、メッセージリーチの効率が大幅に向上します。