【问题标题】:How to change remote push notification icon for React Native(android) application如何更改 React Native(android)应用程序的远程推送通知图标
【发布时间】:2017-09-21 12:39:20
【问题描述】:

我已按照此链接在我的应用程序中实现推送通知 https://github.com/zo0r/react-native-push-notification/tree/a359e5c00954aa324136eaa9808333d6ca246171

目前会显示默认的应用启动器图标。 我想改变它。有什么办法吗?

【问题讨论】:

    标签: android react-native push-notification


    【解决方案1】:

    通知图标link必须遵守一些规则

    首先,生成各种大小的通知图标link。并输入图标名称ic_notification

    然后将所有尺寸ic_notification 移动到android/app/main/res/mipmap 文件夹中的相应文件夹中,并在AndroidManifest.xml 文件中添加以下行。

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

    【讨论】:

    • 这是一个很好的答案,也可以使用此服务来创建图标:romannurik.github.io/AndroidAssetStudio/icons-notification.html
    • @jamesmurphy 在本地通知的情况下,您需要在构建本地通知对象期间传递 smallIcon 和 largeIcon 值(根据这些信息github.com/zo0r/…)。
    • 这里要补充的重要一点是通知图像只能是白色和灰色。如果添加彩色图像,它们将被忽略。浪费了几个小时后我意识到的事情。您可以使用这个神奇的工具生成适当的通知图像 - romannurik.github.io/AndroidAssetStudio/…
    • @rahulworld,如果我想为我的徽标添加背景颜色怎么办?有许多带有背景颜色的徽标,它们是如何工作的?有什么想法吗?
    【解决方案2】:

    你应该先在所有的android/app/src/main/res/mipmap-*中添加新图标

    注意在所有启动 mipmap-* 的文件夹中添加具有正确分辨率的同名新图标

    然后在您发送的通知对象中添加它的名称

    {
      largeIcon: "ic_launcher", // (optional) default: "ic_launcher"
      smallIcon: "ic_notification", // (optional) default:  "ic_notification" with fallback for "ic_launcher"
    }
    
    PushNotification.configure({
      largeIcon: "ic_launcher",
      smallIcon: "ic_notification",
    }) 
    

    【讨论】:

    • 如何添加这个。请添加完整的答案。
    • 我添加了类似 PushNotification.configure({ smallIcon: "ic_notification",})
    • 怎么样?你能解释一下吗?
    • 图标 必须 放在res/mipmap-* 下才能正常工作。如果您对图像文件进行拖放或复制和粘贴,Android Studio IDE 倾向于将图像放在res/drawable-* 下,因此如有必要请移动它们
    • @KrishanKumarMourya 这个插件已被弃用,你应该使用 react-native-firebase
    【解决方案3】:

    在 AndroidManifest.xml 中添加以下行

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

    创建自定义图标 ic_notification 并将它们添加到 mipmap 和 drawable 文件夹

    【讨论】:

    • ios呢??
    【解决方案4】:

    我通过在 AndroidManifest.xml 应用程序结束标记之前添加以下代码找到了解决方案:

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

    在生成图标之前请记住徽标应该有transparent background

    生成所有大小的通知图标link,并将图标名称notification_icon 并提取所有drawable-density/ 文件夹到res 文件夹中

    【讨论】:

    • ios呢??
    猜你喜欢
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多