> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# iOS: App Clip 支持

> 了解如何在 iOS App Clips 中启用和配置 OneSignal 推送通知。涵盖设置步骤、限制以及对 Target-Content-ID 等高级体验的支持。

## 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 证书或密钥。

<Info>
  确保您的 App Clip bundle ID 在 Apple Developer Console 中配置了自己的 APNs 身份验证并在 OneSignal 中关联。
</Info>

### 2. 在您的 App Clip 中设置 OneSignal

按照标准的 OneSignal [iOS SDK 设置指南](./ios-sdk-setup)，但跳过通知服务扩展步骤：

* ✅ 要做：将 OneSignal SDK 添加到您的 App Clip target。
* ❌ 跳过：通知服务扩展 — App Clips 不支持此功能。

### 3. 启用临时推送权限

将以下内容添加到您的 App Clip 的 `Info.plist` 中，以在 App Clip 打开时自动启用 8 小时推送通知权限：

```xml theme={null}
<key>NSAppClip</key>
<dict>
  <key>NSAppClipRequestEphemeralUserNotification</key>
  <true/>
</dict>
```

<Frame caption="临时推送通知 Info.plist 设置">
  {" "}

  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/1d22192-Screen_Shot_2020-07-23_at_3.05.41_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=a6886e9a289c656e0179ad3802712cbe" width="553" height="40" data-path="images/docs/1d22192-Screen_Shot_2020-07-23_at_3.05.41_PM.png" />

  {" "}
</Frame>

除非用户提前禁用，否则此临时权限在 8 小时后过期。

您也可以在启动时请求无限期推送权限，类似于完整应用。

请参阅 [Apple 的文档](https://developer.apple.com/documentation/appclip/enabling-notifications-in-app-clips) 获取完整指导。

### 4. 支持高级 App Clip 体验

要使用通知针对特定的 App Clip 体验：

1. 在 OneSignal 仪表板中，打开**设置 > iOS 平台配置**。
2. 在 **Target-Content-ID** 字段中添加一个值。这应该是您在 App Store Connect 中配置的体验 URL。

<Frame caption="通过 Target-Content-ID 针对特定 App Clip 体验">
  {" "}

  <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/target_content_id.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=0f54fa170c22021768221202f142567d" width="801" height="732" data-path="images/docs/target_content_id.png" />

  {" "}
</Frame>

在 Apple 的[创建 App Clip](https://developer.apple.com/documentation/app_clips/creating_an_app_clip) 指南中了解更多，其中涵盖了关联域和 Target-Content-ID 的使用。

***

## 应用片段限制

由于 iOS 平台限制，以下限制适用于 App Clips：

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

***
