我已经决定在我的Unity项目中实现Firebase通知。问题是,对于通知,我希望使用自定义图像,但该图像也用作应用程序图像(app_icon)。我尝试修改清单,其中我将自定义通知图像(notificon)放入MessagingUnityPlayerActivity活动中以显示通知图标。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="${applicationId}"
android:versionCode="1"
android:versionName="1.0">
<application android:label="@string/app_name"
android:icon="@drawable/app_icon">
<!-- The MessagingUnityPlayerActivity is a class that extends
UnityPlayerActivity to work around a known issue when receiving
notification data payloads in the background. -->
<activity android:name="com.google.firebase.MessagingUnityPlayerActivity"
android:label="@string/app_name"
android:icon="@drawable/notificon"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<service android:name="com.google.firebase.messaging.MessageForwardingService"
android:exported="false"/>
</application>
</manifest>
我试着修改它并删除一些标签,但是编译失败了。我还应该提一下,我的项目中有多个清单,我试着将它们合并在一起,但是没有成功。但是这应该不是问题,因为这是唯一一个具有android:icon属性的清单。
谢谢
4条答案
按热度按时间eanckbw91#
1.在文件夹“Assets\Plugins\Android\res\drawable”下创建一个图像(游戏图标的透明版本,png上的白色)。
1.在我的例子中,我的图像的名称是“small_icon. png”,然后在“Assets\Plugins\Android\AndroidManifest.xml”中,将其添加到开始标记之后:
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/small_icon" />
您的AndroidManifest.xml应该如下所示
798qvoo82#
使用AAB将
res
文件夹放在Assets/Plugins/Android
中是过时的,并且将阻止您构建。由于我懒得安装Android Studio来构建自定义AAR,所以我通过将一个ZIP存档文件放入
Assets/Plugins/Android
文件夹来解决这个问题,其中包含res
文件夹(如另一个答案中所述,使用此文件夹创建res文件夹)和res
文件夹旁边的AndroidManifest.xml
中的以下代码片段:然后在资源管理器中将ZIP文件扩展名更改为AAR。然后您可以从发送端指定图标名称。AAR解剖here的更多详细信息。
l0oc07j23#
不需要更改乘客名单。这对我很有效:
因此,您应该能够将图标添加到Assets/Plugins/Android/res/drawable/并引用其名称
然后在通知json中指定自己的图标,例如:
注意:我使用了其中一个图标。
jk9hmnmh4#
然后在资源管理器中将ZIP文件扩展名更改为AAR。然后您可以从发送端指定图标名称。AAR解剖here的更多详细信息。
如果你只是将扩展名改为aar,它将无法编译。
必须在Android Studio中创建AAR文件,因为它必须包含许多必需的文件,如AndroidManifest.xml、classes.jar等。