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

# Android 通知のランタイム権限

> MoEngage SDK を使用して、Capacitor アプリで Android 13 の通知ランタイム権限を処理します。

Android 13（API レベル 33）以降では、アプリから[対象外ではない](https://developer.android.com/develop/ui/views/notifications/notification-permission#exemptions)（フォアグラウンドサービス（FGS）を含む）通知を送信するための[ランタイム権限](https://developer.android.com/guide/topics/permissions/overview#runtime) [POST\_NOTIFICATIONS](https://developer.android.com/reference/android/Manifest.permission#POST_NOTIFICATIONS) がサポートされています。この変更により、ユーザーは自分にとって最も重要な通知に集中できるようになります。

詳細については、[公式ドキュメント](https://developer.android.com/develop/ui/views/notifications/notification-permission)を参照してください。

以下の API は、MoEngage core Android SDK バージョン **12.3.01** 以降でサポートされています。

アプリケーションが Android 13 で実行され、ユーザーに通知を表示したい場合は、ユーザーに通知権限をリクエストする必要があります。MoEngage に権限を処理させるか、独自のコードで通知権限を処理するかの 2 つの選択肢があります。

* MoEngage が通知権限を処理する。
  * このページに記載されている 1 行のコードを呼び出すだけです。
* 通知権限のロジックを自分で管理する。
  * プッシュ通知の権限が付与された場合は、MoEngage SDK に通知します。

プッシュ通知の権限は MoEngage に処理させることをお勧めします。

## 権限の結果を SDK に通知する

アプリケーションがユーザーに通知権限をリクエストしたら、以下の API を使用してユーザーの応答を SDK に通知します。*MoEngage SDK に通知権限を処理させている場合は、この手順は無視してください。*

<CodeGroup>
  ```javascript TypeScript theme={null}
  import { MoECapacitorCore } from 'capacitor-moengage-core'
  MoECapacitorCore.pushPermissionResponseAndroid({isGranted: isGranted});
  ```
</CodeGroup>

## 権限リクエスト回数の更新（任意）

アプリケーションがユーザーに通知権限をリクエストしたら、リクエストの試行回数を SDK に更新します。

**SDK に権限の試行回数が必要なのはなぜですか？**

SDK は、権限リクエストが試行された回数を正確にトラッキングするために試行回数を必要とします。ユーザーが権限リクエストを 2 回拒否すると、アプリケーション/SDK はそれ以上権限をリクエストできなくなります。つまり、権限をリクエストしても、ユーザーにリクエストダイアログが表示されることなく自動的に拒否されます。SDK としては、ユーザーが権限を拒否した回数を確実に把握できないため、試行回数に基づいて権限リクエストの呼び出しを最適化しようとしています。

<CodeGroup>
  ```javascript TypeScript theme={null}
  import { MoECapacitorCore } from 'capacitor-moengage-core'
  MoECapacitorCore.updatePushPermissionRequestCountAndroid({appId: "YOUR_WORKSPACE_ID", count : count});
  ```
</CodeGroup>

## 通知チャネルのセットアップ

アプリケーションがすでにユーザーから通知権限を取得している場合は、以下の API を呼び出して、プッシュ通知を表示するための通知チャネルをセットアップします。

<CodeGroup>
  ```javascript TypeScript theme={null}
  import { MoECapacitorCore } from 'capacitor-moengage-core'
  MoECapacitorCore.setupNotificationChannelsAndroid();
  ```
</CodeGroup>

## MoEngage SDK に通知権限を処理させる

MoEngage SDK は、エンドユーザーに権限リクエストを表示したり、通知を有効にするための設定画面にユーザーを移動させたりするためのヘルパー API を提供しています。

ユーザーに権限リクエストダイアログを表示するには、以下の API を使用します。

以下の API を使用すると、SDK は上記の応答のトラッキングや必要な通知チャネルのセットアップなどを自動的に行います。

<CodeGroup>
  ```javascript TypeScript theme={null}
  import { MoECapacitorCore } from 'capacitor-moengage-core'
  MoECapacitorCore.requestPushPermissionAndroid();
  ```
</CodeGroup>

## 通知設定への移動（状況に応じて/任意）

デバイス上のアプリケーションの通知設定にユーザーを移動させるには、以下の API を使用します。

*注*: Android 8（API レベル 26）未満では、ユーザーはアプリケーションのアプリ情報画面に移動します。

<CodeGroup>
  ```javascript TypeScript theme={null}
  import { MoECapacitorCore } from 'capacitor-moengage-core'
  MoECapacitorCore.navigateToSettingsAndroid();
  ```
</CodeGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.