📜  使用 codeigniter 向 android 发送推送通知 - PHP (1)

📅  最后修改于: 2023-12-03 15:06:45.679000             🧑  作者: Mango

使用 codeigniter 向 Android 发送推送通知 - PHP

在移动应用程序中,向用户发送推送通知是必不可少的功能。本文将介绍如何使用 CodeIgniter 和 PHP 向 Android 设备发送推送通知。

准备工作

在开始编写代码之前,您需要做以下准备工作:

  1. 获取 Firebase Cloud Messaging (FCM) 的 API 密钥。这需要您在 Firebase 控制台 中创建一个项目。

  2. 为您的 Android 应用程序获取设备令牌(FirebaseInstanceId.getInstance().getToken())。确保您的应用程序已经配置了 FCM。

现在,让我们开始编写代码!

创建 CodeIgniter 控制器

首先,我们需要创建一个 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!