当前位置: 首页 > 知识库问答 >
问题:

Firebase推送通知未在PWA(ReactJS)中显示图标

曾飞沉
2023-03-14

我已经用ReactJS创建了一个PWA应用程序。我还实施了 Firebase 云消息传递功能,用于在设备上显示推送通知。

当我在Android手机上安装我的PWA时,我得到了正确的消息推送。

但是我的通知找不到怎么发图标

我用FirebaseAdmin SDK完成的ASP.NET核心WebApi (2.2)来触发通知。

我来自PWA的manifest.json文件看起来是正确的。(192x192

我的代码触发通知。

public async Task<ActionResult> Test()
{
    var message = new Message()
    {
        Notification = new Notification()
        {
            Title = "My Title",
            Body = "My Body",
            ImageUrl = "MY IMAGE URL"
        },
        Token = "MY ANDROID APP TOKEN"
    };

    await FirebaseMessaging.DefaultInstance.SendAsync(message);

    return Ok();
}

我找不到添加图标的方法。(现在我的应用程序的第一个字母是默认的灰色:E)

也尝试了以下代码,但Android部分没有任何作用。

var message = new Message()
{
    Android = new AndroidConfig()
    {
        Notification = new AndroidNotification()
        {
            Title = "My Title",
            Body = "My Body",
            ImageUrl = "MY IMAGE",
            Icon = "MY ICON",
            ClickAction = "MY URL"
        }
    },
    Notification = new Notification()
    {
        Title = "My Title",
        Body = "My Body",
        ImageUrl = "MY IMAGE"
    },
    Token = "MY TOKEN"
};

await FirebaseMessaging.DefaultInstance.SendAsync(message);

如果我使用 Firebase 提供的 API:

https://fcm.googleapis.com/fcm/send

我可以发送通知图标

共有1个答案

鄂琛
2023-03-14

我发现了问题。。。

我在代码中使用了错误的“通知”类型。

public async Task<ActionResult> Test()
{
    var message = new Message()
    {
        Webpush = new WebpushConfig()
        {
            Notification = new WebpushNotification()
            {
                Title = "My Title",
                Body = "My Body",
                Icon = "MY ICON"
            },
        },
        Token = "MY TOKEN"
    };

    await FirebaseMessaging.DefaultInstance.SendAsync(message);

    return Ok();
}

使用WebpushConfig

 类似资料:
  • 首先,我想声明我一直在研究推送通知和web通知之间的关系,但我有点困惑。 我从这里读到PWAs的推送通知在Safari上的iOS(iPhone)不起作用:从PWA向iOS发送推送通知 然而,如果iPhone用户使用的是Chrome,这是否意味着它们可以工作呢?或者推送通知在任何浏览器上对iPhone中的PWAs都不起作用? 这就把我带到了web通知。web通知在后台对PWAs起作用吗?我的问题是w

  • 我的应用程序生成了一个通知,但我为该通知设置的图标没有显示。取而代之的是一个白色的方块。 我试过调整图标的png大小(尺寸720x720,66x66,44x44,22x22)。奇怪的是,当使用较小的尺寸时,白色的正方形更小。 我搜索了这个问题,以及生成通知的正确方法,从我读到的代码来看,应该是正确的。不幸的是,事情并不像他们应该的那样。

  • 我正在使用一个android模拟器来测试通知。

  • 我将使用此示例将Firebase云消息与我的应用程序集成。通过Firebase控制台发送消息,包括目标用户细分和主题(主题是新闻)都有效。我的应用程序将显示包含消息的祝酒词。 我想要的是通知消息,这将自动显示在Android通知托盘,而不是吐司。在阅读了FCM概念之后,我用curl做了如下尝试: 它通过显示,而不是Android通知托盘。这里可能会出错吗?

  • 当我的应用程序处于打开状态时,我正在通过onMessageReceived(Remotemessage mesg)获得推送通知。如果我的应用程序处于Kilded状态,我将收到推送通知,但不是从onMessageReceived()获得的。 意思是,在收到推送通知后,根据通知中的数据,我需要重定向页面,当通知点击时。如果应用程序在前景工作良好。当我杀人的时候,我在托盘上收到通知,但当我点击通知时,它

  • 我正在写一个iOS的应用程序,使用laravel的API和谷歌Firebase的推送通知。当我使用Firebase云消息传递发送消息推送时,它会进入我的设备。当我使用laravel发送推送通知时,它不会影响。这里是我的脚本发送推送通知laravel: 它返回一个成功的结果,但通知未发送到iOS设备。 PS:它可以在Android设备上成功运行。