Tutorial Pemberitahuan Awan Firebase untuk Menghantar Imej Menggunakan PHP Teras
P粉788571316
P粉788571316 2023-09-16 10:24:13
0
1
658

Ini kod fcm_test.php saya

foreach ($allTokens as $token) {
    echo $token . "<br>";

    // 
    // 发送 Firebase 通知到 FCM 令牌的代码开始
    //



    // 通知的数据有效负载
    $notification = [
        'title' => '通知的标题',
        'body' => '这是通知的正文。',
        'android' => [

            'imageUrl' => 'https://blog.pushwoosh.com/blog/content/images/2021/09/Android-12-Updates-for-Push-Notification-Senders---Pushwoosh.png'

        ],
    ];

    // 创建 HTTP 请求的头部
    $headers = [
        'Authorization: key=' . $serverKey,
        'Content-Type: application/json'
    ];

    // 创建 HTTP 请求的有效负载
    $payload = [
        'to' => $token,
        'notification' => $notification
    ];

    // 将有效负载转换为 JSON
    $jsonPayload = json_encode($payload);

    try {
        // 初始化 cURL 会话
        $ch = curl_init('https://fcm.googleapis.com/fcm/send');

        // 设置 cURL 选项
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonPayload);

        // 执行 cURL 会话
        $response = curl_exec($ch);

        // 检查 cURL 错误
        if ($response === false) {
            throw new Exception('cURL 错误: ' . curl_error($ch));
        }

        // 打印响应(用于调试目的)
        echo '响应: ' . $response . PHP_EOL;


        // 关闭 cURL 会话
        curl_close($ch);

        // 处理响应
        if ($response === false) {
            throw new Exception('发送通知失败。');
        } else {
            echo '通知发送成功。' . "<br><br>";
        }
    } catch (Exception $e) {
        echo '错误: ' . $e->getMessage();
    }
    // 发送 FCM 令牌的代码结束
}

Saya boleh mendapatkan tajuk dan kandungan dalam pemberitahuan Android, tetapi bukan imej. Saya mencuba pelbagai sintaks JSON tetapi tidak ada yang berjaya, saya hanya boleh mendapatkan teks.

Apabila saya menggunakan GUI Firebase, saya boleh mendapatkan imej itu.

Apabila mengakses imej pada Flutter UI, saya menggunakan kod berikut:

print("${widget.message?.notification?.android?.imageUrl}");

Sila jawab jika saya salah. Ini akan sangat membantu.

P粉788571316
P粉788571316

membalas semua(1)
P粉541565322

Berikut adalah senarai semak yang boleh anda cuba.

  1. Pastikan borang yang anda serahkan imej mempunyai atribut enctype="multipart/form-data".

  2. Jika anda menggunakan API untuk menghantar imej, ia sepatutnya
    base64_encode($image_path);

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan