📅  最后修改于: 2023-12-03 15:06:45.679000             🧑  作者: Mango
在移动应用程序中,向用户发送推送通知是必不可少的功能。本文将介绍如何使用 CodeIgniter 和 PHP 向 Android 设备发送推送通知。
在开始编写代码之前,您需要做以下准备工作:
获取 Firebase Cloud Messaging (FCM) 的 API 密钥。这需要您在 Firebase 控制台 中创建一个项目。
为您的 Android 应用程序获取设备令牌(FirebaseInstanceId.getInstance().getToken()
)。确保您的应用程序已经配置了 FCM。
现在,让我们开始编写代码!
首先,我们需要创建一个 CodeIgniter 控制器来处理向 Android 设备发送的推送通知。在您的 CodeIgniter 项目中创建一个名为 Pushnotification.php
的文件并添加以下代码:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Pushnotification extends CI_Controller {
public function send_notification() {
// Android device token
$device_token = "";
// FCM API Key
$api_key = "";
// Notification message
$message = "Hello from CodeIgniter!";
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array (
'to' => $device_token,
'notification' => array (
"title" => "CodeIgniter Push Notification",
"body" => $message
)
);
$headers = array (
'Authorization: key=' . $api_key,
'Content-Type: application/json'
);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POST, true );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($fields));
curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
$result = curl_exec ( $ch );
if ( curl_errno ( $ch ) ) {
echo 'Error:' . curl_error ( $ch );
} else {
echo $result;
}
curl_close ( $ch );
}
}
现在,您可以通过调用 Pushnotification
控制器的 send_notification()
方法来发送推送通知。以下是一个示例:
$this->load->controller('pushnotification/send_notification');
将上述代码添加到您的 CodeIgniter 项目的任何控制器或模型中,以向设备发送推送通知。
在本文中,我们已经介绍了如何使用 CodeIgniter 和 PHP 向 Android 设备发送推送通知。您现在可以使用上述代码在您的应用程序中添加推送通知功能。
Happy coding!