跳转到主要内容

OneSignal 对 App Clips 的支持

OneSignal 支持向 iOS App Clips 发送推送通知。由于 App Clips 具有独立的 bundle identifier,它们需要自己的推送配置。请按照以下步骤正确配置您的 App Clip 与 OneSignal,并了解当前的限制。

设置

1. 为您的 App Clip 创建一个新应用

您必须在 OneSignal 仪表板中为您的 App Clip 创建一个单独的应用。这是因为:
  • App Clips 使用与主应用不同的 bundle identifier。
  • Apple 要求每个唯一的 bundle ID 有不同的 APNs 证书或密钥。
确保您的 App Clip bundle ID 在 Apple Developer Console 中配置了自己的 APNs 身份验证并在 OneSignal 中关联。

2. 在您的 App Clip 中设置 OneSignal

按照标准的 OneSignal iOS SDK 设置指南,但跳过通知服务扩展步骤:
  • ✅ 要做:将 OneSignal SDK 添加到您的 App Clip target。
  • ❌ 跳过:通知服务扩展 — App Clips 不支持此功能。

3. 启用临时推送权限

将以下内容添加到您的 App Clip 的 Info.plist 中,以在 App Clip 打开时自动启用 8 小时推送通知权限:
<key>NSAppClip</key>
<dict>
  <key>NSAppClipRequestEphemeralUserNotification</key>
  <true/>
</dict>

临时推送通知 Info.plist 设置

除非用户提前禁用,否则此临时权限在 8 小时后过期。 您也可以在启动时请求无限期推送权限,类似于完整应用。 请参阅 Apple 的文档 获取完整指导。

4. 支持高级 App Clip 体验

要使用通知针对特定的 App Clip 体验:
  1. 在 OneSignal 仪表板中,打开设置 > iOS 平台配置
  2. Target-Content-ID 字段中添加一个值。这应该是您在 App Store Connect 中配置的体验 URL。

通过 Target-Content-ID 针对特定 App Clip 体验

在 Apple 的创建 App Clip 指南中了解更多,其中涵盖了关联域和 Target-Content-ID 的使用。

应用片段限制

由于 iOS 平台限制,以下限制适用于 App Clips:
  • 临时权限持续时间:仅持续 8 小时。要在此之后发送通知,请求完整的推送权限。
  • 不支持通知服务扩展:
    • ❌ 无富媒体(图像、视频等)
    • ❌ 无自定义操作按钮(仅允许预定义类别)
  • 位置访问受限:
    • App Clips 无法请求始终位置访问权限。
    • 它们可以请求使用时访问权限,该权限在第二天凌晨 4:00 过期。

I