【发布时间】:2019-11-20 16:00:25
【问题描述】:
很多人一直在询问这个问题,但现在所有的解决方案似乎都已经过时了。我尝试了所有解决方案,但仍然无法使用 Phongap Build CLI9.0.0、Firebase Cloud 推送通知和 phonegap-plugin-push 2.1.3。
我可以毫无问题地将图标添加到我的应用程序中。安装和加载应用程序时,会按预期显示正确的徽标。但是,当我收到推送通知时,托盘区域中的图标只是一个白色/灰色方块。
到目前为止,这是我尝试过的:
我的图标是一个带有透明背景的白色圆圈。 它被称为 notification_icon.png。 我制作了 6 个不同大小的版本来满足 ldpi、hdpi 等要求。 我已经像这样将图标名称添加到推送通知初始化中......
var push = PushNotification.init({
android: {
senderID: senderId,
iconColor: "#e73439",
alert: true,
badge: true,
icon: 'notification_icon',
sound: true,
vibrate: true,
},
ios: {
senderID: senderId,
iconColor: '#e73439',
alert: true,
badge: true,
icon: 'notification_icon',
sound: true,
vibration: true,
},
windows: {}
});
我已将图标的所有变体添加到我的 config.xml 中(前 6 个是我的徽标图标,而不是通知图标)...
<platform name="android">
<icon density="ldpi" src="icons/android/icon36x36.png" />
<icon density="mdpi" src="icons/android/icon48x48.png" />
<icon density="hdpi" src="icons/android/icon72x72.png" />
<icon density="xhdpi" src="icons/android/icon96x96.png" />
<icon density="xxhdpi" src="icons/android/icon144x144.png" />
<icon density="xxxhdpi" src="icons/android/icon192x192.png" />
<icon src="icons/notification_icon96x96.png" target="res/drawable/notification_icon.png" />
<icon density="ldpi" src="icons/notification_icon36x36.png" target="res/drawable-ldpi/notification_icon.png" />
<icon density="mdpi" src="icons/notification_icon48x48.png" target="res/drawable-mdpi/notification_icon.png" />
<icon density="hdpi" src="icons/notification_icon72x72.png" target="res/drawable-hdpi/notification_icon.png" />
<icon density="xhdpi" src="icons/notification_icon96x96.png" target="res/drawable-xhdpi/notification_icon.png" />
<icon density="xxhdpi" src="icons/notification_icon144x144.png" target="res/drawable-xxhdpi/notification_icon.png" />
<icon density="xxxhdpi" src="icons/notification_icon192x192.png" target="res/drawable-xxxhdpi/notification_icon.png" />
</platform>
我什至尝试像这样将图标添加到 FCM 负载中......
$notification = array
(
'body' => $message,
'title' => $titlenotification,
"icon" => 'notification_icon',
"content_available" => "1",
"image" => "push_notification" ,
"icon" => "push_notification" ,
"color" => "#e73439" ,
);
$data = array
(
"title" => $titlenotification,
"message" => $message,
"content_available" => "1",
);
$fields = array
(
'registration_ids' => $registrationtokens,
'notification' => $notification,
'data' => $data,
"priority" => "high",
"content_available" => true,
);
....etc
我正在使用 Phponegap build 进行编译,所以我无法编辑任何其他 xml 部分,只能编辑 config.xml。
到目前为止,我让它工作的唯一方法是删除其他徽标图标并仅使用通知图标 - 但随后通知图标也显示为 主 图标。 p>
我认为也许只有较小的图标会用作通知图标,所以我尝试使用 ldpi、mdpi 和 hdpi 的通知图标以及 xhdpi、xxhdpi 和 xxxhdpi 的主徽标,但无论我尝试什么结果要么是 notification_icon 有效,但在加载应用程序时它也用作徽标,或者通知图标被忽略,徽标用作加载图标,白色/灰色方块用于通知图标。
谁能帮忙?
【问题讨论】:
-
我读过 phonegap-plugin-push 2+ 上的 PushNotification.init 函数不再处理图标和颜色。我已将此信息移至我的有效负载区域。这允许我更改图标背景颜色,但图像仍显示为空方块。
标签: push-notification phonegap-build notification-icons