繁体   English   中英

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

[英]Changing the chrome badge on web push notification sending with PHP

我的代码在更改 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 手机上):

peter.sh 网站显示的徽章,就像我希望它们显示在我的

但是当我用我的代码发送它时,我会得到常规的 chrome 徽章

当我无法将它们从 chrome 徽章更改为我的徽章时,我的网站上显示的徽章

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

请在此处查看有关如何在 chrome PWA 上制作徽章的完整说明。 它指定徽章图像的图像格式以及所需的消息负载。 https://stackoverflow.com/a/66688393/11222505

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM