android5.0(API Level21)后(不包括5.0),为了统一系统风格,状态栏(手机顶部)icon不能再使用色彩丰富的图片了,只能够有白色和透明两个颜色出现。通知栏图标会自动把icon的透明通道填充为白色,非透明通道默认情况下会被设置为系统默认的颜色(比如铅灰色)。 虽然可以通过降低targetSdkVersion的方式来实现显示彩色icon的功能,但是考虑到5.0系统已经很古老,不推荐这样设置了。 因此在设计推送图标的时候就不可能像APP图标那样有丰富的色彩,一般而言需要遵循:只有白色和透明,不要出现渐变、半透明,图片格式为png。
1,图标 png格式的图标放到Plugins/Android/res/drawable目录下,名字随意(不要使用汉字和特殊字符),比如:icon_notification.png。 AndroidManifest.xml配置: <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/icon_notification" /> 2,通知栏中icon非透明通道颜色设置 上面也提到在通知栏中,系统会自动填充透明通道为白色,非透明通道默认会被设置为一个系统默认的颜色。在FCM SDK中可以通过配置meta-data来设置非透明通道的颜色。如下:
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/icon_notification" />
<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorNotifyBg" /> 上面使用到了color/colorNotifyBg资源,可以通过在Plugins/Android/res/values目录下创建colors.xml文件来配置colorNotifyBg,colors.xml内容形如: <?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorNotifyBg">#ff8400</color> <color name="colorPrimary">#039BE5</color> <color name="colorPrimaryDark">#0288D1</color> <color name="colorAccent">#FFA000</color> <color name="blue_grey_500">#607D8B</color> <color name="blue_grey_600">#546E7A</color> <color name="blue_grey_700">#455A64</color> <color name="blue_grey_800">#37474F</color> <color name="blue_grey_900">#263238</color> </resources> 上述两个设置在官方demo的AndroidManifest.xml中都有提到。 同时需要注意,官方demo中创建了多个带后缀(mdpi、hdpi、xhdpi、xxhdpi等)的drawable目录:这里,用以存放不同分辨率的icon图片资源,用来更好适配不同分辨率机型。由于低分辨率机型已经很少了,因此我们就只创建了一个drawable目录,使用64*64分辨率的icon图片。 20220715: Unity2021.2版本之后不再支持Unity内的Plugins/Android/res目录了,需要把该目录下的内容打成aar。否则在打包时会报错。 easy模式,按照官方教材导入FirebaseMessaging.unitypackage,打包没报Too many field references: 70613; max is 65536这样的报错。恭喜你基本可以直接打包成功。 hard模式,打包报错Too many field... 本来以为推送是个很简单的功能,碰了之后才知道是个天坑,谁踩坑谁。这篇帖子会简要提供测试过的坑,如果只想看FCM可以跳到第二部分。 一,目前Unity3D有三种推送方式, 1,用官方自带的插件,包管理器中就可以找到: 这个使用很简单,去查官方API即可。缺点就是基本只有程序启动时候才能收到推送,不知道是不是因为国产手机的原因。 2,用Android长链接的方式,定点开启推送。 这个网上有不少帖子,但基本都是两年前的。总结下来为啥呢,因为这几年的国产机型在这块搞事儿。不在白名单的应用压根就无法.. 1.接着上篇写一点更简单的: 前期步骤都一样紧接着上篇步骤5后插一个步骤,就是,将app下的文件夹res文件夹下的minmap里面的一个图标文件夹复制一个,粘贴到模块里面res下改名为minmap,然后里面可以放应用的图片,然后再将app里面的AndroidManifest.xml中的application的部分复制到Module里面相同的部位,把报错的删除。 2.最重要的一点就是把ManiA... 安卓环境下: 主要记录一下 消息通知栏icon 的显示的问题 1、需要在Android 的目录底下 的 drawable 文件夹里面放入一张图片icon,这图片icon有点特殊,需要符号以下: a1: png 格式 a2: 需要的是不规则(这个跟UI 说,UI 会知道具体怎样做) a3: 多余的地方需要用透明来填充 2、需要在 AndroidManifest.xml 的 <application 的节点里面添加下面这一点声明(icon_no 运行时API分为两部分:AndroidNotificationCenter和iOSNotificationCenter。这些可用于计划和管理其各自平台的通知。您可以从我们的GitHub页面下载一个NotificationsSamples示例项目,该项目实现了一个高级封装,可用于使用相同的API向Android和iOS发送通知,或查看下面的代码示例。该软件包支持以下功能:计划安排本地一次或可重复的通... 我试图在移动设备上收到推送通知时使用react native firebase在应用程序图标上设置徽章计数。 但是无法动态设置应用程序图标上的计数值。这是我的代码-const channel = new firebase.notifications.Android.Channel('demo','DEMO',firebase.notifications.Android.Importance.Max... 您好我正在使用Firebase在Android中实现推送通知.现在,在一个圆圈内有一个小图标.我需要它以更大的尺寸显示.请看图片.这是我的代码,android:id="@+id/relativeNotification"android:layout_width="192dp"android:layout_height="192dp"android:layout_alignParentEnd="tr... 1. Win7下解析 google-services.json文件失败。解决方法参照:unity 导入Firebase出现的坑 - 小小肥宅 - 博客园2. 无法连接到firebase for unity的依赖库.firebase-analytics-unity-9.1.0firebase-app-unity-9.1.0ps: 由于其他原因我需要导出android工程用其他电脑打包。从而有的这个问题。解决方案:根本原因是我没有使用Android Resolver提前处理这些依赖。应为这些依赖库是使用的本地仓
<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorNotifyBg" /> 上面使用到了color/colorNotifyBg资源,可以通过在Plugins/Android/res/values目录下创建colors.xml文件来配置colorNotifyBg,colors.xml内容形如:
上面使用到了color/colorNotifyBg资源,可以通过在Plugins/Android/res/values目录下创建colors.xml文件来配置colorNotifyBg,colors.xml内容形如:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorNotifyBg">#ff8400</color> <color name="colorPrimary">#039BE5</color> <color name="colorPrimaryDark">#0288D1</color> <color name="colorAccent">#FFA000</color> <color name="blue_grey_500">#607D8B</color> <color name="blue_grey_600">#546E7A</color> <color name="blue_grey_700">#455A64</color> <color name="blue_grey_800">#37474F</color> <color name="blue_grey_900">#263238</color> </resources> 上述两个设置在官方demo的AndroidManifest.xml中都有提到。 同时需要注意,官方demo中创建了多个带后缀(mdpi、hdpi、xhdpi、xxhdpi等)的drawable目录:这里,用以存放不同分辨率的icon图片资源,用来更好适配不同分辨率机型。由于低分辨率机型已经很少了,因此我们就只创建了一个drawable目录,使用64*64分辨率的icon图片。 20220715: Unity2021.2版本之后不再支持Unity内的Plugins/Android/res目录了,需要把该目录下的内容打成aar。否则在打包时会报错。 easy模式,按照官方教材导入FirebaseMessaging.unitypackage,打包没报Too many field references: 70613; max is 65536这样的报错。恭喜你基本可以直接打包成功。 hard模式,打包报错Too many field... 本来以为推送是个很简单的功能,碰了之后才知道是个天坑,谁踩坑谁。这篇帖子会简要提供测试过的坑,如果只想看FCM可以跳到第二部分。 一,目前Unity3D有三种推送方式, 1,用官方自带的插件,包管理器中就可以找到: 这个使用很简单,去查官方API即可。缺点就是基本只有程序启动时候才能收到推送,不知道是不是因为国产手机的原因。 2,用Android长链接的方式,定点开启推送。 这个网上有不少帖子,但基本都是两年前的。总结下来为啥呢,因为这几年的国产机型在这块搞事儿。不在白名单的应用压根就无法.. 1.接着上篇写一点更简单的: 前期步骤都一样紧接着上篇步骤5后插一个步骤,就是,将app下的文件夹res文件夹下的minmap里面的一个图标文件夹复制一个,粘贴到模块里面res下改名为minmap,然后里面可以放应用的图片,然后再将app里面的AndroidManifest.xml中的application的部分复制到Module里面相同的部位,把报错的删除。 2.最重要的一点就是把ManiA... 安卓环境下: 主要记录一下 消息通知栏icon 的显示的问题 1、需要在Android 的目录底下 的 drawable 文件夹里面放入一张图片icon,这图片icon有点特殊,需要符号以下: a1: png 格式 a2: 需要的是不规则(这个跟UI 说,UI 会知道具体怎样做) a3: 多余的地方需要用透明来填充 2、需要在 AndroidManifest.xml 的 <application 的节点里面添加下面这一点声明(icon_no 运行时API分为两部分:AndroidNotificationCenter和iOSNotificationCenter。这些可用于计划和管理其各自平台的通知。您可以从我们的GitHub页面下载一个NotificationsSamples示例项目,该项目实现了一个高级封装,可用于使用相同的API向Android和iOS发送通知,或查看下面的代码示例。该软件包支持以下功能:计划安排本地一次或可重复的通... 我试图在移动设备上收到推送通知时使用react native firebase在应用程序图标上设置徽章计数。 但是无法动态设置应用程序图标上的计数值。这是我的代码-const channel = new firebase.notifications.Android.Channel('demo','DEMO',firebase.notifications.Android.Importance.Max... 您好我正在使用Firebase在Android中实现推送通知.现在,在一个圆圈内有一个小图标.我需要它以更大的尺寸显示.请看图片.这是我的代码,android:id="@+id/relativeNotification"android:layout_width="192dp"android:layout_height="192dp"android:layout_alignParentEnd="tr... 1. Win7下解析 google-services.json文件失败。解决方法参照:unity 导入Firebase出现的坑 - 小小肥宅 - 博客园2. 无法连接到firebase for unity的依赖库.firebase-analytics-unity-9.1.0firebase-app-unity-9.1.0ps: 由于其他原因我需要导出android工程用其他电脑打包。从而有的这个问题。解决方案:根本原因是我没有使用Android Resolver提前处理这些依赖。应为这些依赖库是使用的本地仓
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorNotifyBg">#ff8400</color> <color name="colorPrimary">#039BE5</color> <color name="colorPrimaryDark">#0288D1</color> <color name="colorAccent">#FFA000</color> <color name="blue_grey_500">#607D8B</color> <color name="blue_grey_600">#546E7A</color> <color name="blue_grey_700">#455A64</color> <color name="blue_grey_800">#37474F</color> <color name="blue_grey_900">#263238</color> </resources>
上述两个设置在官方demo的AndroidManifest.xml中都有提到。 同时需要注意,官方demo中创建了多个带后缀(mdpi、hdpi、xhdpi、xxhdpi等)的drawable目录:这里,用以存放不同分辨率的icon图片资源,用来更好适配不同分辨率机型。由于低分辨率机型已经很少了,因此我们就只创建了一个drawable目录,使用64*64分辨率的icon图片。 20220715: Unity2021.2版本之后不再支持Unity内的Plugins/Android/res目录了,需要把该目录下的内容打成aar。否则在打包时会报错。 easy模式,按照官方教材导入FirebaseMessaging.unitypackage,打包没报Too many field references: 70613; max is 65536这样的报错。恭喜你基本可以直接打包成功。 hard模式,打包报错Too many field... 本来以为推送是个很简单的功能,碰了之后才知道是个天坑,谁踩坑谁。这篇帖子会简要提供测试过的坑,如果只想看FCM可以跳到第二部分。 一,目前Unity3D有三种推送方式, 1,用官方自带的插件,包管理器中就可以找到: 这个使用很简单,去查官方API即可。缺点就是基本只有程序启动时候才能收到推送,不知道是不是因为国产手机的原因。 2,用Android长链接的方式,定点开启推送。 这个网上有不少帖子,但基本都是两年前的。总结下来为啥呢,因为这几年的国产机型在这块搞事儿。不在白名单的应用压根就无法.. 1.接着上篇写一点更简单的: 前期步骤都一样紧接着上篇步骤5后插一个步骤,就是,将app下的文件夹res文件夹下的minmap里面的一个图标文件夹复制一个,粘贴到模块里面res下改名为minmap,然后里面可以放应用的图片,然后再将app里面的AndroidManifest.xml中的application的部分复制到Module里面相同的部位,把报错的删除。 2.最重要的一点就是把ManiA... 安卓环境下: 主要记录一下 消息通知栏icon 的显示的问题 1、需要在Android 的目录底下 的 drawable 文件夹里面放入一张图片icon,这图片icon有点特殊,需要符号以下: a1: png 格式 a2: 需要的是不规则(这个跟UI 说,UI 会知道具体怎样做) a3: 多余的地方需要用透明来填充 2、需要在 AndroidManifest.xml 的 <application 的节点里面添加下面这一点声明(icon_no 运行时API分为两部分:AndroidNotificationCenter和iOSNotificationCenter。这些可用于计划和管理其各自平台的通知。您可以从我们的GitHub页面下载一个NotificationsSamples示例项目,该项目实现了一个高级封装,可用于使用相同的API向Android和iOS发送通知,或查看下面的代码示例。该软件包支持以下功能:计划安排本地一次或可重复的通... 我试图在移动设备上收到推送通知时使用react native firebase在应用程序图标上设置徽章计数。 但是无法动态设置应用程序图标上的计数值。这是我的代码-const channel = new firebase.notifications.Android.Channel('demo','DEMO',firebase.notifications.Android.Importance.Max... 您好我正在使用Firebase在Android中实现推送通知.现在,在一个圆圈内有一个小图标.我需要它以更大的尺寸显示.请看图片.这是我的代码,android:id="@+id/relativeNotification"android:layout_width="192dp"android:layout_height="192dp"android:layout_alignParentEnd="tr... 1. Win7下解析 google-services.json文件失败。解决方法参照:unity 导入Firebase出现的坑 - 小小肥宅 - 博客园2. 无法连接到firebase for unity的依赖库.firebase-analytics-unity-9.1.0firebase-app-unity-9.1.0ps: 由于其他原因我需要导出android工程用其他电脑打包。从而有的这个问题。解决方案:根本原因是我没有使用Android Resolver提前处理这些依赖。应为这些依赖库是使用的本地仓
上述两个设置在官方demo的AndroidManifest.xml中都有提到。 同时需要注意,官方demo中创建了多个带后缀(mdpi、hdpi、xhdpi、xxhdpi等)的drawable目录:这里,用以存放不同分辨率的icon图片资源,用来更好适配不同分辨率机型。由于低分辨率机型已经很少了,因此我们就只创建了一个drawable目录,使用64*64分辨率的icon图片。
20220715: Unity2021.2版本之后不再支持Unity内的Plugins/Android/res目录了,需要把该目录下的内容打成aar。否则在打包时会报错。