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

时间:2020-02-06 08:14:05

标签: reactjs firebase firebase-cloud-messaging progressive-web-apps

我已经用ReactJS创建了PWA应用程序。 我还实现了Firebase Cloud Messaging,用于在设备上显示推送通知。

当我在Android手机上安装PWA时,我会收到正确的推送通知。

但是我找不到如何向通知中发送图标。

我正在使用FirebaseAdmin SDK完成的ASP.NET Core WebApi(2.2)触发通知。

我来自PWA的manifest.json文件看起来像是正确的。 (192x192和512x512 png用于图标) 我可以安装它并获得正确的应用程序图标。

我的触发通知的代码。

3

我找不到添加图标的方法。 (现在它是默认灰色,带有我应用的首字母:E)

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

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();
}

Android设备上的图标。 展开通知时显示图像。 Icon on Android device

如果我使用Firebase提供的api:

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

我可以发送通知图标,并且此图标有效。 如何使用FirebaseAdmin SDK来做到这一点?

1 个答案:

答案 0 :(得分:1)

我发现了问题...

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

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 WebpushNotification ,我就能得到我想要的东西。

相关问题