我正在使用 Ionic 4 + FCM plugin,这对我有用(2019 年 11 月)。 请注意,此解决方案是特定于 Android 的,即此解决方案中显示的设置将有助于自定义 Android 平台上的通知图标外观。
让我们从一系列步骤开始:
1.在位于应用根文件夹的 config.xml 中: Example: (yourapp/config.xml)
将以下内容添加到末尾的<widget id=""...> 标记中:
xmlns:android="http://schemas.android.com/apk/res/android"
现在应该是这样的:
<widget id="com.mydomain.app" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
或简单地说,复制上面的行,将小部件 id 的值替换为您自己的值。
2。在同一个 config.xml 文件中:
在标签中:<platform name="android"> 和 </platform>,添加:
<resource-file src="res/drawable-xhdpi/fcm_push_icon.png" target="app/src/main/res/drawable/fcm_push_icon.png" />
<resource-file src="res/drawable-hdpi/fcm_push_icon.png" target="platforms/android/res/drawable-hdpi/fcm_push_icon.png" />
<resource-file src="res/drawable-mdpi/fcm_push_icon.png" target="platforms/android/res/drawable-mdpi/fcm_push_icon.png" />
<resource-file src="res/drawable-xhdpi/fcm_push_icon.png" target="platforms/android/res/drawable-xhdpi/fcm_push_icon.png" />
<resource-file src="res/drawable-xxhdpi/fcm_push_icon.png" target="platforms/android/res/drawable-xxhdpi/fcm_push_icon.png" />
<resource-file src="res/drawable-xxxhdpi/fcm_push_icon.png" target="platforms/android/res/drawable-xxxhdpi/fcm_push_icon.png" />
<resource-file src="colors.xml" target="app/src/main/res/values/colors.xml" />
<config-file parent="/manifest/application/" target="app/src/main/AndroidManifest.xml">
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/fcm_push_icon" />
<meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorPrimary" />
</config-file>
3.访问以下链接:
Notification Icon Generator
在透明背景上上传您的徽标的白色版本(单色)。如果你上传一个彩色版本,你会得到一个深灰色的图标,看起来很讨厌。如果您的徽标没有白色版本,请进行设计。保持其余设置不变。对于名称文本框值,输入:fcm_push_icon。然后单击蓝色圆形按钮下载 zip 文件。
4.解压 zip 文件并将内容复制到您的应用根文件夹:
解压缩您刚刚在上述步骤中下载的 zip 文件,并将其内容解压缩到一个文件夹中。您会注意到它包含一个 res 文件夹。如果您打开此文件夹,它将包含具有以下名称的其他文件夹:
- drawable-hdpi
- drawable-mdpi
- drawable-xhdpi
- drawable-xxhdpi
- drawable-xxxhdpi
每个文件夹都将包含一个名为“fcm_push_icon.png”的 PNG 图标。这些不同文件夹中的图标之间的唯一区别是它们的大小。
5.将 res 文件夹复制到项目根目录:
将上述第 4 点中的 res 文件夹复制到应用的根文件夹中。所以它现在应该是这样的:
yourApp/res/drawable-hdpi/fcm_push_icon.png
yourApp/res/drawable-mdpi/fcm_push_icon.png
yourApp/res/drawable-xhdpifcm_push_icon.png
yourApp/res/drawable-xxhdpi/fcm_push_icon.png
yourApp/res/drawable-xxxhdpi/fcm_push_icon.png
6.在应用的根文件夹中创建 colors.xml:
现在在应用的根文件夹中创建一个名为 colors.xml 的新文件。所以它现在应该是这样的:
yourApp > colors.xml
7.将以下内容复制到 colors.xml 中:
将以下内容复制到您在上述第6步中创建的文件colors.xml中并保存。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3880ff</color>
<color name="colorAccent">#3880ff</color>
<color name="white">#FFFFFF</color>
<color name="ivory">#FFFFF0</color>
<color name="orange">#FFA500</color>
<color name="navy">#000080</color>
<color name="black">#000000</color>
</resources>
8.更改 colorPrimary 的值:
将标签内的值:<color name="colorPrimary"></color> 更改为您喜欢的任何颜色。例如,您可以使用:
<color name="colorPrimary">#eedd33</color>
9.构建您的应用:
就是这样!现在只需构建您的应用程序。当构建运行时,它将所有文件从src 目录复制到target 目录,应用程序将从target 目录中读取内容。
因此,从现在开始,每当您在基于 Ionic 的 Android 应用上发送通知时,接收者都会在通知中看到您的彩色应用图标。
10.享受!!!