Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用PHP更改web推送通知上的chrome徽章_Javascript_Php_Firebase_Curl_Service Worker - Fatal编程技术网

Javascript 使用PHP更改web推送通知上的chrome徽章

Javascript 使用PHP更改web推送通知上的chrome徽章,javascript,php,firebase,curl,service-worker,Javascript,Php,Firebase,Curl,Service Worker,关于更改web推送通知上的徽章(小图标),我的代码有问题 有一个示例显示了实时示例,还显示了源代码。 我不明白为什么他能换徽章而我没有。我在互联网上进行了广泛的搜索,但找不到解决方案 这是我的PHP代码: <?php $url = 'https://fcm.googleapis.com/fcm/send'; $YOUR_API_KEY = MY_KEY; $YOUR_TOKEN_ID = THE_CLIENT_TOKEN; $request_body = [ 'to' =&g

关于更改web推送通知上的徽章(小图标),我的代码有问题

有一个示例显示了实时示例,还显示了源代码。 我不明白为什么他能换徽章而我没有。我在互联网上进行了广泛的搜索,但找不到解决方案

这是我的PHP代码:

<?php
$url = 'https://fcm.googleapis.com/fcm/send';

$YOUR_API_KEY = MY_KEY;

$YOUR_TOKEN_ID = THE_CLIENT_TOKEN;

$request_body = [
    'to' => $YOUR_TOKEN_ID,
    'notification' => [
        'title'         => 'Title test',
        'body'          => 'Body Test',
        'icon'          => 'https://tests.peter.sh/resources/icons/4.png',
        'click_action'  => 'https://www.google.com',
        'badge'         => 'https://i.imgur.com/9QFB20F.png',
        // 'badge'      => 'https://tests.peter.sh/resources/icons/11.png',
    ],
    'data' => [
        // 'Nick'           => 'Mario',
    ],
];

$fields = json_encode($request_body);

$request_headers = [
    'Content-Type: application/json',
    'Authorization: key=' . $YOUR_API_KEY,
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
curl_close($ch);

//echo $response;
?>

当我从“peter.sh”通知生成器网站发送通知时,我得到了我想要的徽章(在我的android手机上):

但当我将其与代码一起发送时,我会得到常规chrome徽章


为什么徽章不根据我的代码更改?我正在发送徽章属性…

有关如何在chrome PWAs上制作徽章的完整说明,请参见此处。它指定徽章图像的图像格式以及所需的消息负载。

您是否尝试过使用其他图像?您是否尝试在您的域上托管映像?是。正如你在我的代码中看到的,我尝试了一些url-s…有人能帮忙吗/你解决了这个问题吗?没有…还没有…