自定义世博会推送通知图标未显示在Android设备上

bhmjp9jg  于 2023-05-27  发布在  Android
关注(0)|答案(2)|浏览(177)

我已经能够成功地为我的应用程序配置博览会推送通知(标题和消息出现),但我不能为我的生活改变默认的博览会图标(倒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编码,并通过推送通知将其发送到我的应用程序客户端,希望它可以显示。
我还没有在苹果设备上测试过,因为我目前没有访问权限。还能做什么我已经做了一切正确的,但它仍然没有工作。

sd2nnvve

sd2nnvve1#

当您通过Expo Go使用应用程序时,图标为Expo icon。如果你想看到你自己的图标,你必须安装应用程序作为一个独立的应用程序(创建它与EAS构建)。Icon将是你自己的。

rqmkfv5c

rqmkfv5c2#

第一步:安装expo-notifications

npx expo install expo-notifications

要为Android设备设置图标和颜色属性,您需要配置app.json文件。另一方面,iOS设备将自动检测图标和背景颜色。

{
  "expo": {
    "plugins": [
      [
        "expo-notifications",
        {
          "icon": "./src/assets/notification-icon.png",
          "color": "#082849",
          "sounds": [
            "./local/assets/notification-sound.wav",
          ]
        }
      ]
    ]
  }
}

相关问题