メインコンテンツへスキップ
ユーザーがいる場所に基づいてメッセージを送信できます。OneSignalは、国、GPS座標、またはカスタムタグでユーザーをセグメント化できます——物理的な場所に基づいてタイムリーで関連性の高いアウトリーチを作成できます。 ユーザーがアプリを操作し、位置情報追跡が有効になっている場合、座標が定期的に更新され(アプリの使用中は約5分ごと)、ジャーニーまたはメッセージ作成ツールを介してメッセージを送信できます。
OneSignalはデフォルトでGPS位置情報を追跡しません。 SDKは以下の3つの条件がすべて満たされている場合のみ緯度と経度を収集します:
  1. アプリに正しい位置情報の権限と依存関係がある。
  2. アプリがOneSignalとの共有を明示的に有効にしている。これがないと、アプリは位置情報データを収集できますが、OneSignalとは共有されません。
  3. ユーザーがシステムプロンプトで位置情報の権限を付与する。
設定については位置情報追跡のセットアップを参照してください。SDKの位置情報の動作の背景については、You’re in Control: How Location Actually Works in OneSignal’s SDKをご覧ください。

国別でターゲットする

国はデバイスのIPアドレスによって決定され、ユーザーがアプリを開くたびに自動的に更新されます。値はISO 3166-1 Alpha-2の2文字の国コードを使用します(例:USGBCA)。 セグメントcountryフィールドまたはセグメント作成APIfiltersパラメータを使用して国別でターゲットします:
"filters": [
  { "field": "country", "relation": "=", "value": "US" }
]

位置情報(緯度、経度、半径)でターゲットする

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

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

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

Mobile SDK位置情報リファレンス

iOS、Android、React Native、Flutter、Unity、Cordova/Ionicの完全なセットアップとプラットフォーム別コード。
位置情報追跡が有効になると、locationフィルターを使用してAPIでセグメントを作成したりメッセージを送信したりできます。
OneSignal segment builder showing the location radius filter with latitude, longitude, and radius fields

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

OneSignalはWebの緯度/経度を収集しません。ただし、タグを使用してWebアプリから位置情報を設定するか、ユーザー更新APIを使用してサーバーから位置情報を設定できます。 タグ付け例:
  1. ブラウザの Geolocation API を使用してWebアプリで位置情報アクセスをリクエストします。
  2. JavaScriptを使用してユーザーの座標を検出します。
  3. タグを使用してこれらの座標をOneSignalに送信します。
OneSignal.User.addTags({
  lat: "37.160",
  long: "-117.773"
});
タグが設定されたら、タグ範囲フィルターを組み合わせてジオフェンスセグメントを作成します。例えば、バウンディングボックス 37° ≤ lat < 38°-118° ≤ long < -117° 内のユーザーをターゲットにするには、セグメントビルダーに次の4つのフィルターを追加します:
  • タグ lat37 より大きい
  • タグ lat38 より小さい
  • タグ long-118 より大きい
  • タグ long-117 より小さい

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

OneSignalは都市またはエリアコードをネイティブに検出しません。都市またはカスタム位置情報でターゲットするには:
  • ユーザーにフォームで都市または地域を入力させます。
  • または、JavaScriptとリバースジオコーディング(例:Google Maps API)を使用して座標から都市を推測します。
  • 都市名をデータタグとして送信します。
OneSignal.User.addTag("city", "San Francisco");

FAQ

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

ネイティブには対応していません。OneSignalのWeb SDKはGPS座標を収集しません。Webプッシュでロケーションベースのセグメントをするには、ブラウザのGeolocation APIから座標を自分で収集してOneSignalにタグとして送信し、それらのタグに範囲フィルターセグメントを構築してください。Webプッシュの緯度経度追跡を参照してください。

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

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

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

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

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

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

関連ページ

位置情報オプトインプロンプト

ネイティブ位置情報権限をリクエストする前に、アプリ内メッセージをソフトプレプロンプトとして使用する。

セグメント

位置情報フィルター、タグ、ユーザープロパティを使用してオーディエンスセグメントを作成する。