チュートリアル: Curl、APNS+FCM、およびその他の拡張機能を使用して、PHP アプリケーションのグローバル メッセージ プッシュ機能を実装する

WBOY
リリース: 2023-07-26 06:12:01
オリジナル
1475 人が閲覧しました

チュートリアル: 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 サイトの他の関連記事を参照してください。

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