Tutorial: Gunakan Curl, APNS+FCM dan sambungan lain untuk melaksanakan fungsi tolak mesej global aplikasi PHP
Dalam era digital hari ini, fungsi tolak mesej global telah menjadi keperluan teras bagi banyak aplikasi. Sama ada aplikasi media sosial, platform e-dagang atau pelanggan berita, mereka semua perlu boleh menghantar pemberitahuan masa nyata dan menolak mesej kepada pengguna. Tutorial ini akan memperkenalkan cara menggunakan sambungan PHP dan Curl, APNS dan FCM untuk melaksanakan fungsi push mesej global.
Langkah Pertama: Penyediaan
Pertama, pastikan sambungan PHP dan Curl dipasang pada pelayan anda. Curl ialah alat untuk berkomunikasi dengan pelayan dan kami akan menggunakannya untuk menghantar permintaan tolak kepada perkhidmatan pemesejan tolak Apple dan Google. Anda boleh memasang sambungan Curl melalui arahan berikut:
sudo apt-get install php-curl
Seterusnya, kami perlu menyediakan sijil dan kunci yang diperlukan untuk APNS dan FCM. APNS (Apple Push Notification Service) digunakan untuk menghantar pemberitahuan push ke peranti Apple, manakala FCM (Firebase Cloud Messaging) digunakan untuk menghantar pemberitahuan push ke peranti Android.
Untuk APNS, anda perlu membuat sijil tolak di tapak web pembangun Apple dan memuat turun sijil ke pelayan anda. Kemudian, anda perlu menggunakan arahan openssl untuk menukar sijil format .p12 kepada fail format .pem untuk digunakan dalam PHP. Tukar sijil .p12 kepada sijil .pem menggunakan arahan berikut:
openssl pkcs12 -in cert.p12 -out cert.pem -nodes
Untuk FCM, anda perlu membuat projek pada konsol Firebase dan mendapatkan projek untuk kunci pelayan untuk pengesahan. Anda juga perlu memasang sambungan PHP FCM. Anda boleh memasang sambungan PHP FCM melalui arahan berikut:
komposer memerlukan brozot/laravel-fcm
Langkah 2: Tulis kod PHP
Seterusnya, kami akan menulis kod PHP untuk melaksanakan fungsi push mesej global. Kami akan menggunakan sambungan Curl untuk menghantar permintaan kepada perkhidmatan tolak APNS dan FCM.
Mula-mula, kita perlu memperkenalkan sambungan Curl di bahagian atas fail PHP:
... // 引入Curl扩展 ...
Kemudian, kita perlu mencipta fungsi untuk menghantar permintaan tolak ke APNS. Fungsi ini akan menerima token peranti, tajuk tekan dan kandungan (badan) sebagai parameter, dan menghantar permintaan tolak ke pelayan APNS:
fungsi 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;
}
Seterusnya , kita perlu mencipta fungsi untuk menghantar permintaan tolak kepada FCM. Fungsi ini akan menerima token peranti, tajuk tolak dan kandungan (badan) sebagai parameter, dan menghantar permintaan tolak ke pelayan FCM:
fungsi 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;
}
Langkah 3: Fungsi panggilan untuk menghantar permintaan tolakKini, kita boleh memanggil fungsi permintaan tolak ini dalam aplikasi PHP kami untuk melaksanakan fungsi tolak mesej global. Berikut ialah contoh:
... // 引入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;
Dalam tutorial ini, kami mempelajari cara menggunakan sambungan seperti Curl, APNS dan FCM untuk melaksanakan fungsi push mesej global aplikasi PHP. Kami mula-mula menyediakan persekitaran pelayan yang diperlukan dan kunci sijil dan menyepadukannya dengan kod PHP. Kemudian, kami menulis fungsi yang menghantar permintaan tolak dan sebenarnya memanggil fungsi ini untuk melengkapkan fungsi tolak mesej global. Dengan pengetahuan dan kemahiran ini, anda boleh menambah fungsi mesej tolak yang berkuasa pada aplikasi anda dan meningkatkan pengalaman pengguna.
Atas ialah kandungan terperinci Tutorial: Gunakan Curl, APNS+FCM dan sambungan lain untuk melaksanakan fungsi push mesej global aplikasi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!