> ## 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.

# アプリ内メッセージで位置情報権限をリクエストする

> ネイティブのAndroidまたはiOS位置情報権限リクエストをトリガーする前に、OneSignalのソフトプレプロンプトを使用してモバイルアプリで位置情報追跡を有効にするようユーザーを案内します。

必要なネイティブシステムレベルの位置情報権限ダイアログを表示する前に、OneSignalアプリ内メッセージをソフトプレプロンプトとして使用することで、ユーザーから位置情報アクセスを簡単にリクエストできます。これによりオプトイン率が向上し、いつどのように尋ねるかをより制御できます。または、[Mobile SDK位置情報メソッド](./mobile-sdk-reference#location)を使用してシステムプロンプトを直接トリガーすることもできます。

***

## 要件

アプリ内メッセージを作成する前に：

* アプリに位置情報追跡権限を追加します（AndroidとiOSの両方）。
  * プラットフォーム固有のセットアップ手順については、[Mobile SDK位置情報リファレンス](./mobile-sdk-reference#location)を参照してください。
* アプリコードでOneSignalとの位置情報共有を有効にします。

***

## メッセージを作成する

<Steps>
  <Step title="メッセージを作成する">
    OneSignalダッシュボードで、**メッセージ > アプリ内 > 新しいアプリ内**に移動します
  </Step>

  <Step title="オーディエンス">
    * すべてのユーザーにプロンプトを表示する場合は、**すべてのユーザーに表示**を選択します。
    * それ以外の場合は、特定のセグメントをターゲットにします。
  </Step>

  <Step title="メッセージデザイン">
    * 位置情報アクセスがユーザーにどのようなメリットをもたらすかを明確に説明します。例：「関連するローカル更新を受信するために位置情報を有効にしてください。」
    * オプトインの可能性を高めるために、簡潔でありながら具体的にします。

    <Frame caption="アプリ内ブロックとプレビューと一緒にクリックアクションを追加する機能を示す画像">
      <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/d79589d-iam-setup.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=dfc599957a14fae1da44feaca697cc8d" width="1922" height="1650" data-path="images/docs/d79589d-iam-setup.png" />
    </Frame>
  </Step>
</Steps>

***

## 位置情報権限プロンプトクリックアクションを追加する

<Steps>
  <Step title="ボタンまたは画像を追加する">
    明確な行動喚起のあるボタンまたは画像を追加します（例：「位置情報を有効にする」）。
  </Step>

  <Step title="クリックアクションを追加する">
    オプションで：

    * **クリックアクションを追加**をクリック
    * **位置情報権限プロンプト**を選択

    クリックすると、OneSignalはネイティブの必須システムレベル位置情報プロンプトをトリガーします。

    **位置情報が既に有効になっている場合、不要なプロンプトを避けるためにメッセージは表示されません。**

    <Info>
      AndroidとiOSの両方で、システムレベルのプロンプトの表示頻度が制限されています。このソフトプレプロンプトを使用すると、これらの制限を回避し、必要に応じて繰り返し試行できます。
    </Info>

    <Frame caption="アプリ内ブロックとクリックアクションを追加する機能を示す画像">
      <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/3ee94da-iam-setup-add-buttons.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=bea5041690d177a6b2c74b970bac178d" width="561" height="767" data-path="images/docs/3ee94da-iam-setup-add-buttons.png" />
    </Frame>
  </Step>
</Steps>

***

## アプリ内メッセージをトリガーする

プロンプトをいつどのように表示するかを制御できます。

### オプション1：時間ベースのトリガー

ユーザーがアプリに一定時間滞在した後にメッセージを表示します（例：30秒後）。

<Frame caption="セッションアプリ内トリガーを示す画像。">
  <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/fb26c9cc44f0ff633869613177c204987850f8a45de908f153387b6c18211e3d-Screenshot_2025-04-03_at_6.34.31_PM.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=aa5c748b14350c0c35165194daf0b567" width="1566" height="688" data-path="images/docs/fb26c9cc44f0ff633869613177c204987850f8a45de908f153387b6c18211e3d-Screenshot_2025-04-03_at_6.34.31_PM.png" />
</Frame>

### オプション2：プログラムトリガー

SDK経由でプロンプトが表示されるタイミングを正確に制御：

<Steps>
  <Step title="アプリにトリガーコードを追加します。">
    SDKの[`addTrigger`メソッド](./mobile-sdk-reference#in-app-messages)を使用して、`location_prompt`のようなキーと`true`のような値を設定します。その後、アプリ内の任意の場所でこれを呼び出します。
  </Step>

  <Step title="メッセージにトリガーを追加します">
    アプリ内メッセージ設定で同じトリガーキー（`location_prompt`）と値（`true`）を設定します。

    <Frame caption="プログラムアプリ内トリガーを示す画像。">
      <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/a1073246e17c826da317ef34f1fb4b4171e924a2de9f199cef9c154a0470c9aa-Screenshot_2025-04-03_at_6.35.33_PM.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=aa22c76661dc1cbf6ddac693fd471a1a" width="1566" height="742" data-path="images/docs/a1073246e17c826da317ef34f1fb4b4171e924a2de9f199cef9c154a0470c9aa-Screenshot_2025-04-03_at_6.35.33_PM.png" />
    </Frame>
  </Step>
</Steps>

***

## メッセージ頻度を設定する

ユーザーにスパムを送信しないようにするには：

* **複数回**を選択
* メッセージを表示する回数を設定
* 各試行間の間隔を設定

設定例：最大5回表示、各試行間に4週間の間隔

これにより、最大5か月間の月次リマインダーが可能になり、持続性とユーザーエクスペリエンスのバランスが取れます。

<Frame caption="繰り返しプロンプトのスケジューリング設定例。">
  <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/9e87626b6069826d65baa160acf278f9ada4724ea1a4155b63a2bd3be9e1fc64-Screenshot_2025-04-03_at_7.02.24_PM.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=00f77c150cdb1f667aef561d09cd5998" width="1566" height="722" data-path="images/docs/9e87626b6069826d65baa160acf278f9ada4724ea1a4155b63a2bd3be9e1fc64-Screenshot_2025-04-03_at_7.02.24_PM.png" />
</Frame>

***

## ベストプラクティス

* ユーザーに位置情報アクセスのメリットを常に説明します。
* 不適切なタイミングで尋ねることを避けるために、セグメンテーションまたはトリガーを使用します。
* プレプロンプトはオプトイン率を向上させ、オペレーティングシステムの制限を回避します。
* アプリ内メッセージをトリガーする前に、アプリで位置情報権限が正しく構成されていることを確認します。

***

<Check>
  ユーザーとサブスクリプションページで位置情報ポイントが追跡されるのが表示され始めます。

  [位置情報トリガーメッセージ](./location-triggered-event)を作成します。
</Check>

***
