> ## 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：フォーカスモードと割り込みレベル

> デバイス設定とプッシュとのインタラクション方法について理解する

フォーカスモードは、仕事、睡眠、個人などの個別のモードを許可することで、iOSユーザーが通知をいつどのように受信するかを制御するのに役立ちます。各モードは、通知の可視性と配信動作を調整します。

緊急アラートやアカウントセキュリティなどの重要なユースケースをサポートするために、Appleは**割り込みレベル**を導入し、フォーカスモードがアクティブな場合でも、通知がいつどのように表示されるかを制御します。

## 割り込みレベル

割り込みレベルは、通知の緊急性と配信動作を決定します。4つのレベルがあります：

<Columns cols={2}>
  <Card title="アクティブ（デフォルト）" icon="play">
    標準優先度の通知。これには、サウンド、バイブレーション、および画面のウェイク動作が含まれます。フォーカスモードをバイパスしません。
  </Card>

  <Card title="時間に敏感" icon="hourglass">
    アクティブのように動作しますが、特別なバナーが含まれます。時間に敏感な通知は、フォーカスモードとスケジュールされた配信を突破できます。緊急のユーザーの注意が必要な場合にのみ使用してください。
  </Card>

  <Card title="パッシブ" icon="paper-plane">
    優先度の低い通知。サウンドもバイブレーションもありません。ユーザーを中断せず、フォーカスモードを突破しません。
  </Card>

  <Card title="クリティカル" icon="triangle-exclamation">
    最高優先度の通知。すべてのデバイスコントロールとフォーカスモードをバイパスします。悪天候や健康アラートなどの緊急事態に使用されます。有効にするには、Appleからの事前承認が必要です。詳細については、[クリティカルアラートのセットアップ](#critical-alerts-setup)を参照してください。
  </Card>
</Columns>

<Frame caption="例。時間に敏感な通知を示す画像。">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/1f2c2a0-image_6.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=ac23ab6a90a3d0cd0be8dc58d9c502ee" width="1523" height="794" data-path="images/docs/1f2c2a0-image_6.png" />
</Frame>

***

## OneSignalで割り込みレベルを設定する方法

OneSignalダッシュボードからプッシュを送信する際、**Apple iOS設定**の下に**通知割り込みレベル**があります。デフォルトは**アクティブ**です。

[通知作成API](/reference/create-message)を使用する場合は、次のパラメーターを使用します：

* `ios_interruption_level`：`"active"`、`"time-sensitive"`、`"passive"`、または`"critical"`に設定します
* `ios_relevance_score`：配信順序の重要度を示す0から1の数値（オプション）。

***

## クリティカルアラートのセットアップ

**クリティカルアラート：**

* おやすみモードとサイレントスイッチを無視します。
* 優先度の高いケース（例：健康、セキュリティ）用に予約されています。
* Appleからの明示的な承認が必要で、通常のプッシュ通知を有効にしている場合でも、ユーザーは個別にオプトインする必要があります。

### クリティカルアラートのApple資格を要求する

1. [Appleのドキュメント](https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.usernotifications.critical-alerts/)を確認し、**リクエストフォームに記入**をクリックします。
2. クリティカルアラート資格リクエストを選択します。
3. フォームに記入してリクエストを送信します。
4. Appleのレビューと承認を待ちます。

### アプリにクリティカルアラート資格を追加する

Appleがリクエストを承認したら：

1. Xcodeで`.entitlements`ファイルを開きます（ない場合は作成します）。
2. 追加します：

```xml theme={null}
<key>com.apple.developer.usernotifications.critical-alerts</key>
<true/>
```

3. プロビジョニングプロファイルにこの資格が含まれていることを確認します：

* 必要に応じて、Apple Developerポータルでプロビジョニングプロファイルを再生成します。
* ダウンロードしてXcodeに再度追加します。

### アプリコードでクリティカルアラート権限を要求する

クリティカルアラート権限は標準のプッシュ権限とは別であり、次のように要求する必要があります（Swiftを使用）：

```swift theme={null}
import UserNotifications

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge, .criticalAlert]) { granted, error in
    if let error = error {
        print("Authorization error: \(error)")
    } else {
        print("Critical alert permission granted: \(granted)")
    }
}
```

<Warning>
  標準のプッシュ権限を取得した後、理想的にはオンボーディングフローでこれを要求する必要があります。
</Warning>

### クリティカルアラートをテストする

1. アプリをビルドして実行します。
2. 上記の[OneSignalで割り込みレベルを設定する方法](#how-to-set-interruption-level-in-onesignal)の手順に従って、テストプッシュを送信します。

***

## 関連ドキュメント

* [iOS：関連性スコア](./ios-relevance-score)
* [プッシュの概要](./push)

***
