跳转到主要内容
推送通知图标是伴随推送通知的小图像,有助于品牌识别、上下文清晰度和美观度。它们对于用户参与度和增强通知有效性至关重要。

推送通知图标的最佳实践

  • 使用透明 PNG 以在所有设备上获得更好的渲染效果。
  • 确保图标简单且在较小尺寸下可识别。
  • 遵循特定平台的大小和颜色方案指南(例如,Android 状态栏使用透明背景上的白色图标)。
  • 避免在图标中使用文本,因为在较小尺寸下可能无法辨认。
  • 包含精心设计的推送通知图标可以显著增强通知的有效性和吸引力。

网页通知图标

推荐大小为 256x256 像素。支持文件类型 PNG、JPG 和 GIF(非动画)。 在您的仪表板网页设置中上传您的图标或使用图像的 URL。

iOS 通知图标

iOS 通知使用与您的应用程序图标相同的图像,除非更改应用程序图标,否则无法更改。 iOS 还支持通信通知,允许您将图标更改为用户的个人资料图像。

Android 通知图标

Android(包括 Amazon 和 Huawei)提供多种设置图标的选项,本指南将详细介绍。 Android 还支持对话通知,允许您将图标更改为用户的个人资料图像。 Android 支持小型和大型通知图标。

小型通知图标

小图标显示在通知的左上角。默认情况下,OneSignal 将显示铃铛图标,但我们建议您自定义此图标,以便订阅者识别这是来自您应用的通知。
大多数 Android 设备仅支持图标的 Alpha 通道。 它将在状态栏中显示为单色,但可以将强调色应用到通知本身的左侧。

大型通知图标

大型通知图标显示在通知的右侧。如果您没有设置大图标,将使用小图标代替。OneSignal 将为您自动缩放大型通知图标,以防止图标被裁剪。推荐的大图标尺寸为 256x256 像素。

如何添加 Android 默认图标

我们强烈建议为每个 Android 和 Amazon 应用添加默认图标。
1

生成图标

您必须添加每个具有列出大小和 Alpha 透明度的图像。有关生成具有 Alpha 透明度的图像的帮助,请参阅此Android Asset Studio 中示例的剪贴画链接
  • 使用 Android 资产工作室
  • 手动创建图标
推荐为了快速轻松地生成具有正确设置的小图标,我们建议使用 Android Asset Studio。使用 ic_stat_onesignal_default 作为名称。

默认图标名称、密度、大小

必需:每个名称和像素大小都必须在应用中存在。
NameDensity (dp)Size (px)
ic_stat_onesignal_defaultMDPI24x24
ic_stat_onesignal_defaultHDPI36x36
ic_stat_onesignal_defaultXHDPI48x48
ic_stat_onesignal_defaultXXHDPI72x72
ic_stat_onesignal_defaultXXXHDPI96x96
ic_onesignal_large_icon_default.pngXXXHDPI256x256
2

创建项目路径

确保以下路径存在;创建您缺少的任何文件夹。必需:每个图像都必须存在于以下路径中:
  • Android 原生
  • Unity
  • Cordova/Ionic
  • React Native
  • .NET Maui
  • Flutter
  • res/drawable-mdpi/ (24x24)
  • res/drawable-hdpi/ (36x36)
  • res/drawable-xhdpi/ (48x48)
  • res/drawable-xxhdpi/ (72x72)
  • res/drawable-xxxhdpi/ (96x96)
  • res/drawable-xxxhdpi/ (256x256) (Large Icon)
对于 7.0 之前版本的 Cordova,您需要在向 config.xml 添加图标资源时使用 <project-root>/platforms/android/res/drawable-{size}/ 而不是上面显示的路径
如果您看到默认的 OneSignal 铃铛图标,说明您没有添加所有图标大小。请添加所有图标大小和正确的路径。如果您看到实心正方形,说明您将图像设置为正确路径,但图像没有 Alpha 透明度。有关更多帮助,请尝试使用来自此 Android Asset Studio 剪贴画 的图像。
根据您的 SDK,您的项目应该看起来与此类似:
您应该已经完成了新的默认图标的设置。

非默认图标

添加默认图标后,您可以选择添加更多非默认图标。这将允许您根据应用发送的通知类型显示不同的图标。例如,标题为”Jewel Breaker”的游戏可能希望为每个发送的通知使用不同颜色的宝石图标来代表用户的级别。同时,社交网络可能希望在用户收到来自其他用户的消息时显示聊天气泡图标,以区别于更通用的系统通知。OneSignal 支持在每条消息的基础上覆盖默认图标。
1

生成图标

按照上述步骤生成图标并将其放置在适合您 SDK 的文件夹中。
2

命名非默认图标

要添加非默认图标,您必须为它们命名与上面指定的默认名称不同的名称。例如,您可以将一个命名为 message_icon
3

使用非默认图标发送通知

如果您已按照上述步骤创建默认图标并已更新您的应用程序,您将能够在发送通知时引用这些图标。要使用自定义图标发送通知:

Dashboard

导航到消息 > 新推送 > 平台设置 > Google Android 选项 > 设置图标名称(不包括文件扩展名)。对于大型通知图标,您还可以提供显示图标的 URL。

REST API

使用 small_iconlarge_icon REST API 属性设置通知图标。设置图标名称(不包括文件扩展名)。更多详细信息请参阅创建通知 REST API 文档

小图标强调色

您可以更改通知小图标周围显示的颜色。

设置小图标强调色

要设置默认颜色,请在项目的 res/values/strings.xml 文件中添加以下行。 如果您希望深色模式使用不同的颜色,也请将键添加到您的 res/values-night/strings.xml 中。 使用 HEX 值。使用 Android Asset Studio 颜色方案获得帮助。
<resources>
    <string name="onesignal_notification_accent_color">FF00FF00</string>
</resources>
要在每个通知基础上设置颜色,请在我们的创建通知 API 调用中设置 android_accent_color,或在消息 > 新推送 > 平台设置 > Google Android 选项下的强调色字段中输入值。
如果您最近刚向应用添加了图标资源,您可能希望等待几天后再发送使用该图标的通知。这是因为大多数用户更新到包含您新图标的最新版本可能需要很多天甚至几周的时间。

自定义非 Alpha 通道小图标图像

一些设备制造商按原样显示图像(基本上忽略 Alpha 通道规则)。如果您希望在所有设备上使用非 Alpha 通道图像,可以根据 Android 文档设置自定义通知布局 我们强烈建议遵循 Alpha 规则,因为图标在所有设备上可能看起来不一致。Google 这样设计是有原因的——图标太小,看不到任何有意义的细节,因此强制使用单一颜色有助于一眼就能识别图标。
I