我已经能够成功地为我的应用程序配置博览会推送通知(标题和消息出现),但我不能为我的生活改变默认的博览会图标(倒V)。This是当前显示的内容。我正在Redmi Note 5和三星Galaxy S5上进行测试,在这两款设备上,推送通知图标似乎都不尊重我根据官方文档设置的图标配置。
通知是从Python中的exponent_server_sdk
库发送的。我在命令行终端中使用expo start
启动我的devlopment expo应用程序,并通过QR码从expo应用程序连接我的物理设备。
我尝试过的事情:
1.按照官方说明在我的app.json中配置推送通知图标:
{
"expo": {
"name": "BaseApp",
"slug": "BaseApp",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./Image/icon.png",
"userInterfaceStyle": "light",
"splash": {
"image": "./Image/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./Image/adaptive-icon.png",
"backgroundColor": "#FFFFFF"
},
"permissions": [
"CAMERA",
"READ_INTERNAL_STORAGE",
"WRITE_INTERNAL_STORAGE",
"READ_EXTERNAL_STORAGE",
"WRITE_EXTERNAL_STORAGE",
"ACCESS_BACKGROUND_LOCATION"
]
},
"plugins": [
[
"expo-notifications",
{
"icon": "./Image/pleasework.png",
"color": "#ffffff"
}
]
],
"notification": {
"icon": "./Image/pleasework.png",
"color": "#7f2ee1",
"androidMode": "default",
"androidCollapsedTitle": "Updates from Colab.notes",
"iosDisplayInForeground": true
},
"web": {
"favicon": "./Image/pleasework.png"
}
}
}
1.将图像大小调整为96x96透明白色背景图像here
1.已清除两台设备上的Expo应用程序缓存,但均无效
1.已从服务器发送映像的本地路径,如下所示:
from exponent_server_sdk import (
DeviceNotRegisteredError,
PushClient,
PushMessage,
PushServerError,
PushTicketError
)
@staticmethod
def send_push_message(token, message):
"""
Summary:
Send a push notification to the target device.
Args:
token (str): Unique identifier of the phone device.
message (str): Text to send to the target phone device.
"""
data = {'icon': PATH_TO_APP_ICON} #Evaluates to ./Image/pleasework.png
try:
response = PushClient().publish(
PushMessage(to=token,
title=PushNotification.TITLE,
body=message,
data=data))
1.尝试将图像的大小调整为72x72像素和200x200像素,但这两种方法都没有得到丰硕的结果。
1.确保我的./Image/pleasework.png
文件实际上是相对于我的项目根目录的有效路径。
1.尝试将我的pleasework.png
文件的示例转换为base64编码,并通过推送通知将其发送到我的应用程序客户端,希望它可以显示。
我还没有在苹果设备上测试过,因为我目前没有访问权限。还能做什么我已经做了一切正确的,但它仍然没有工作。
2条答案
按热度按时间sd2nnvve1#
当您通过Expo Go使用应用程序时,图标为Expo icon。如果你想看到你自己的图标,你必须安装应用程序作为一个独立的应用程序(创建它与EAS构建)。Icon将是你自己的。
rqmkfv5c2#
第一步:安装expo-notifications
要为Android设备设置图标和颜色属性,您需要配置app.json文件。另一方面,iOS设备将自动检测图标和背景颜色。