[SDK]Unity接入Firebase推送SDK安卓机器上设置图标

27 篇文章 1 订阅
16 篇文章 1 订阅

前言

android5.0(API Level21)后(不包括5.0),为了统一系统风格,状态栏(手机顶部)icon不能再使用色彩丰富的图片了,只能够有白色和透明两个颜色出现。通知栏图标会自动把icon的透明通道填充为白色,非透明通道默认情况下会被设置为系统默认的颜色(比如铅灰色)。
虽然可以通过降低targetSdkVersion的方式来实现显示彩色icon的功能,但是考虑到5.0系统已经很古老,不推荐这样设置了。
因此在设计推送图标的时候就不可能像APP图标那样有丰富的色彩,一般而言需要遵循:只有白色和透明,不要出现渐变、半透明,图片格式为png。

Unity接入FCM的设置

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_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。否则在打包时会报错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iningwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值