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

# 位置情報ベースのメッセージ

> OneSignalを使用して、国、GPS座標、またはジオフェンスでユーザーをセグメント化し、位置情報トリガーのプッシュ通知を送信します。

ユーザーがいる場所に基づいてメッセージを送信できます。OneSignalは、国、GPS座標、またはカスタムタグでユーザーをセグメント化できます——物理的な場所に基づいてタイムリーで関連性の高いアウトリーチを作成できます。

ユーザーがアプリを操作し、位置情報追跡が有効になっている場合、座標が定期的に更新され（アプリの使用中は約5分ごと）、[ジャーニー](./journeys-overview)またはメッセージ作成ツールを介してメッセージを送信できます。

<Warning>
  **OneSignalはデフォルトでGPS位置情報を追跡しません。** SDKは以下の3つの条件がすべて満たされている場合のみ緯度と経度を収集します：

  1. アプリに正しい位置情報の権限と依存関係がある。
  2. アプリがOneSignalとの共有を明示的に有効にしている。これがないと、アプリは位置情報データを収集できますが、OneSignalとは共有されません。
  3. ユーザーがシステムプロンプトで位置情報の権限を付与する。

  設定については[位置情報追跡のセットアップ](#位置情報追跡のセットアップ)を参照してください。SDKの位置情報の動作の背景については、[You're in Control: How Location Actually Works in OneSignal's SDK](https://onesignal.com/blog/youre-in-control-how-location-actually-works-in-onesignals-sdk/)をご覧ください。
</Warning>

***

## 国別でターゲットする

国はデバイスのIPアドレスによって決定され、ユーザーがアプリを開くたびに自動的に更新されます。値はISO 3166-1 Alpha-2の2文字の国コードを使用します（例：`US`、`GB`、`CA`）。

[セグメント](./segmentation)の`country`フィールドまたは[セグメント作成API](/reference/create-segments)の`filters`パラメータを使用して国別でターゲットします：

```json theme={null}
"filters": [
  { "field": "country", "relation": "=", "value": "US" }
]
```

***

## 位置情報（緯度、経度、半径）でターゲットする

モバイルアプリがGPS位置情報を収集してOneSignalと共有する場合、SDKは約5分ごとにユーザーの座標を更新します（権限とシステムルールに基づく）。アプリが強制停止された場合、ユーザーが再度開くまで位置情報を追跡できません。

### 位置情報追跡のセットアップ

位置情報追跡はOneSignalダッシュボードではなく、モバイルアプリのコードで設定します。アプリには最低限以下が必要です：

* iOSとAndroid向けのネイティブ位置情報の権限と依存関係を追加する。
* `Location.isShared`フラグを有効にしてOneSignalと座標を共有する。
* システムの位置情報権限をリクエストするか、[アプリ内メッセージをソフトプレプロンプトとして使用](./location-opt-in-prompt)してオプトイン率を向上させる。

<Card title="Mobile SDK位置情報リファレンス" icon="location-dot" href="./mobile-sdk-reference#location">
  iOS、Android、React Native、Flutter、Unity、Cordova/Ionicの完全なセットアップとプラットフォーム別コード。
</Card>

<Check>
  位置情報追跡が有効になると、`location`フィルターを使用してAPIでセグメントを作成したりメッセージを送信したりできます。
</Check>

<Frame caption="セグメントの位置情報フィルター">
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/3109479-Screen_Shot_2021-02-09_at_8.28.43_AM.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=13644c44bf75d4907e7fbda8641ae1bd" alt="OneSignal segment builder showing the location radius filter with latitude, longitude, and radius fields" width="1440" height="938" data-path="images/docs/3109479-Screen_Shot_2021-02-09_at_8.28.43_AM.png" />
</Frame>

***

## Webプッシュの緯度経度追跡

OneSignalはWebの緯度/経度を**収集しません**。ただし、タグを使用してWebアプリから位置情報を設定するか、[ユーザー更新API](/reference/update-user)を使用してサーバーから位置情報を設定できます。

**タグ付け例：**

1. ブラウザの [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) を使用してWebアプリで位置情報アクセスをリクエストします。
2. JavaScriptを使用してユーザーの座標を検出します。
3. [タグ](./add-user-data-tags)を使用してこれらの座標をOneSignalに送信します。

```javascript theme={null}
OneSignal.User.addTags({
  lat: "37.160",
  long: "-117.773"
});
```

タグが設定されたら、タグ範囲フィルターを組み合わせてジオフェンスセグメントを作成します。例えば、バウンディングボックス `37° ≤ lat < 38°` と `-118° ≤ long < -117°` 内のユーザーをターゲットにするには、セグメントビルダーに次の4つのフィルターを追加します：

* タグ `lat` が `37` より大きい
* タグ `lat` が `38` より小さい
* タグ `long` が `-118` より大きい
* タグ `long` が `-117` より小さい

***

## 都市またはカスタム位置情報でターゲットする

OneSignalは都市またはエリアコードをネイティブに検出しません。都市またはカスタム位置情報でターゲットするには：

* ユーザーにフォームで都市または地域を入力させます。
* または、JavaScriptとリバースジオコーディング（例：Google Maps API）を使用して座標から都市を推測します。
* 都市名を[データタグ](./add-user-data-tags)として送信します。

```javascript theme={null}
OneSignal.User.addTag("city", "San Francisco");
```

***

## FAQ

### 位置情報追跡はWebで機能しますか？

ネイティブには対応していません。OneSignalのWeb SDKはGPS座標を収集しません。Webプッシュでロケーションベースのセグメントをするには、ブラウザの[Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API)から座標を自分で収集してOneSignalに[タグ](./add-user-data-tags)として送信し、それらのタグに範囲フィルターセグメントを構築してください。[Webプッシュの緯度経度追跡](#webプッシュの緯度経度追跡)を参照してください。

### なぜアプリが位置情報を追跡していないのですか？

3つのセットアップ条件がすべて満たされているか確認してください：アプリに正しい位置情報の権限と依存関係がインストールされている、`Location.isShared`が`true`に設定されている、ユーザーがシステムプロンプトで位置情報の権限を付与している。プラットフォーム固有のセットアップとよくある修正（Android `play-services-location`依存関係を含む）については、[Mobile SDK位置情報リファレンス](./mobile-sdk-reference#location)を参照してください。

### SDKはどのくらいの頻度で位置情報を更新しますか？

位置情報追跡が有効になっている場合、SDKはアプリの使用中に約5分ごとに座標を更新します。アプリが強制停止された場合、ユーザーが再度アプリを開くまで位置情報の更新が停止します。

### 都市でユーザーをターゲットできますか？

ネイティブには不可能です。OneSignalは国（IPアドレス経由）とGPS座標（SDK経由）を追跡しますが、都市やエリアコードは追跡しません。リバースジオコーディングサービスを使用して座標から都市を推測し、タグとして保存できます。[都市またはカスタム位置情報でターゲットする](#都市またはカスタム位置情報でターゲットする)を参照してください。

***

## 関連ページ

<Columns cols={2}>
  <Card title="位置情報オプトインプロンプト" icon="message" href="./location-opt-in-prompt">
    ネイティブ位置情報権限をリクエストする前に、アプリ内メッセージをソフトプレプロンプトとして使用する。
  </Card>

  <Card title="セグメント" icon="users" href="./segmentation">
    位置情報フィルター、タグ、ユーザープロパティを使用してオーディエンスセグメントを作成する。
  </Card>
</Columns>
