返回

自定义 Firebase 通知:图像和振动模式的终极指南

Android

自定义 FCM 通知:图像和振动模式

简介

Firebase 云消息传递 (FCM) 是一种强大的工具,可用于向 Android 和 iOS 设备发送通知。这些通知可以自定义为包含各种信息,包括图像和振动模式。本文将探讨如何通过 FCM 实现这些自定义,解决常见的挑战,并提供最佳实践。

自定义图像

要为 FCM 通知添加图像,我们需要在通知有效负载中设置 "image" 变量。该变量应设置为要显示的图像的名称(不带扩展名),且图像必须包含在 APK 中。以下是配置图像所需的步骤:

  1. 将图像添加到 APK :确保图像已添加到您的 APK 中,并且路径与 "image" 变量匹配。
  2. 验证图像格式 :确认图像的格式受 Android 支持,例如 PNG 或 JPEG。
  3. 检查图像大小 :确保图像的大小不超过 256 KB。
  4. 设置 "image" 变量 :在您的通知消息中,将 "image" 变量设置为图像的名称(不带扩展名)。

自定义振动模式

FCM 还允许您自定义通知的振动模式。通过设置 "vibrate_timings" 变量,您可以指定振动的持续时间和间隔。要配置振动模式,请按照以下步骤操作:

  1. 创建振动模式数组 :将 "vibrate_timings" 变量设置为一个字符串数组,其中每个元素表示振动模式中的一个持续时间值。
  2. 使用正负值 :正数表示振动持续的时间(以毫秒为单位),而负数表示静止的时间(以毫秒为单位)。
  3. 交替值 :数组中的第一个元素表示初始振动持续时间,后续元素表示振动模式的交替持续时间。
  4. 示例振动模式 :["0.5s", "-0.2s", "0.1s", "-0.2s"] 表示振动 500 毫秒,静止 200 毫秒,振动 100 毫秒,然后静止 200 毫秒的模式。

示例有效负载

以下是一个示例 JSON 有效负载,演示了如何添加图像和自定义振动模式:

{
   "validate_only":false,
   "message":{
      "data":null,
      "android":{
         "collapse_key":"new_messages",
         "priority":1,
         "restricted_package_name":"",
         "data":{

         },
         "notification":{
            "title":"A spoon is ready!",
            "body":"Grab it before someone else!",
            "icon":"spoonsbuzz",
            "channel_id":"cow",
            "color":"#0000FF",
            "sound":"cow.wav",
            "vibrate_timings":[
               "0.5s",
               "-0.2s",
               "0.1s",
               "-0.2s"
            ],
            "visibility":2,
            "tag":"new_messages",
            "click_action":"",
            "body_loc_key":"",
            "body_loc_args":[

            ],
            "title_loc_key":"",
            "title_loc_args":[

            ],
            "image":"spoonsbuzzimage",
            "notification_priority":4
         }
      },
      "apns":null,
      "token":"Bot"
   }
}

常见问题解答

1. 图像未显示

  • 确保图像已添加到 APK 中,并且路径正确。
  • 验证图像的格式是否受 Android 支持,并且大小不超过 256 KB。

2. 振动模式不起作用

  • 检查振动模式的格式是否正确,并且振动时间和间隔值是正值或负值。
  • 确认您的设备支持自定义振动模式。

3. 图像和振动模式仅在某些设备上可见

  • 自定义图像和振动模式可能在某些 Android 版本或设备上不可用。
  • 验证您的目标设备是否兼容这些功能。

4. 使用不同语言显示通知

  • 要使用不同语言显示通知,请设置 "body_loc_key" 和 "body_loc_args" 或 "title_loc_key" 和 "title_loc_args" 字段。

5. 使用 FCM 测试工具

  • FCM 提供了一个测试工具,可以帮助您验证通知是否按预期工作。