【问题标题】:IONIC 2 : Push notifications icon white squareIONIC 2:推送通知图标白色方块
【发布时间】:2018-05-26 08:50:14
【问题描述】:

当我的 Android 手机 (Andoid 8.0) 收到来自我的应用程序的推送通知时,图标为空白/白色。当我将$ ionic cordova resources --icon 与具有透明背景的图标一起使用时,它可以工作,但是当我这样做时,我的应用程序图标没有背景,我不希望那样。

可以为应用程序和通知使用不同的图标吗?我尝试了很多东西,但没有任何效果。

我正在使用 Ionic 2 推送插件来显示推送通知,我使用这篇文章来编写代码:https://ampersandacademy.com/tutorials/ionic-framework-version-2/push-notification-in-ionic-2-native-plugin-version-2-3-with-firebase-hosting-service-provider

任何帮助将不胜感激!

【问题讨论】:

    标签: android push-notification ionic2 icons


    【解决方案1】:

    是的,您可以为通知使用不同的图标。初始化推送插件时,只需在 PushOptions 中指定一个图标。如果您不指定图标,则默认使用应用图标。

    const options: PushOptions = {
       android: {
           icon: your_drawable_icon
       }
    };
    
    const pushObject: PushObject = this.push.init(options);
    

    Ionic Doc 中阅读有关可用(android)选项的更多信息,在phonegap-push-plugin repo 中直接了解更多详细信息

    【讨论】:

    • 我试过了还是不行,我加了图标还是不行
    • 嗯似乎是插件特定的问题。也许看看这个问题github.com/phonegap/phonegap-plugin-push/issues/1924。您如何发送消息?
    • 我通过 Firebase 通知控制台发送消息。
    • 我想通过 PHP 发送通知,通知图标很完美,似乎它只不适用于 Firebase 控制台。
    • 很高兴听到这个消息!这正是问题中的那个人发生的事情。
    【解决方案2】:

    您必须在您的平台项目中手动添加图标(Android Native 方法)

    1. 创建ic_notification.png
    2. 找到目录\platforms\android\res\
    3. 在res目录下可以看到很多drawablemipmap目录,把ic_notification复制到所有这些目录中。
    4. 打开位于\platforms\android\AndroidManifest.xml
    5. <application > ... </application >标签内添加如下配置

      如果可绘制

      <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_notification" />
      

      如果是mipmap

      <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_notification" />
      

    ***请注意,如果您清理并重建项目,此设置可能会被覆盖。或者如果您运行平台删除/更新/添加命令

    【讨论】: