Places Service をテストするRecommendations test-validate-loc-svc

多くの顧客や組織が世界中の POI を定義するので、Places Service がアプリケーションとどのようにやり取りするかをシミュレートおよびテストする方法があることが重要です。 この情報は、定義された POI とユーザーの現在の場所に基づいて、正しくトリガーされている Places Service のエントリと離脱をテストおよび検証する方法を理解するのに役立ちます。

環境変数は位置シグナルと精度の要因になる可能性があるので、最初に開発者ツールとシミュレーションされた位置エントリをローカルで操作して、ベースライン結果を確立することをお勧めします。 目標は、すべての場所イベントが正しく機能していることを検証することです。 場所のイベントを正しく検証したら、ソリューションの統合(Analytics、Target、Campaign など)をテストできます。 テストアクティビティに役立つように、ポストバックのSlack Webhook を設定し、個々の開発環境に GPX ファイルを読み込む必要があります。

IMPORTANT
このプランでは、POI が Places Service UI で作成され、最新バージョンの Places 拡張機能がインストールされ、正しく設定されていることを前提としています。 また、アクティブ領域の監視を行う場合は、領域の監視ソリューションが実装されていることを前提としています。 詳しくは、Places 拡張機能、iOSの CoreLocation ドキュメント、または Androidの場所のドキュメントを参照してください。
手順
説明
期待される結果
1
場所を追跡するためのアクセス権を付与するために、Androidに適切なマニフェストキーが入力されていることを確認します。
確認済み
1a
iOSで場所の更新が設定されていることを確認します。 また、場所を追跡する権限をリクエストする適切なプリストキーがiOSで設定されていることも確認します。
確認済み
2
iOSに設定されているモニタリングモードを確認します。 この連続モードにより、精度と持続性が向上しますが、バッテリー寿命も大幅に低下します。
重要な変更または継続的な変更
3
複数の POI ライブラリを使用する場合は、Experience Platform Launch用に場所の拡張機能で適切なライブラリが選択されていることを確認します。
確認済み
4
Mobile Core および Places 拡張機能の最新バージョンが Gradle または CocoaPods を介してアプリにバンドルされていることを確認します。
確認済み – 最近の更新について詳しくは、 リリースノートを参照してください。
5
テスト用に正しい環境が設定されていることを確認します。 Launch 環境 ID は、Launch 開発環境と一致する必要があります。
確認済み
6
テストする POI ごとに GPX ファイルを作成します。 GPX ファイルは、ローカル開発環境で場所の入力をシミュレートするために使用できます。 GPX ファイルの作成と使用については、以下を参照してください。
iOS Simulator 用 GPX ファイル [closed]
https://mapstogpx.com/mobiledev.php
モバイルアプリでの場所テスト
GPX ファイルが作成され、アプリプロジェクトに読み込まれます。
7
他に何もしなくても、Android Studio または XCode からアプリケーションを起動し、トラッキング場所へのアクセスをリクエストするための適切なアラートを確認できます。 常に許可 権限をクリックします。

デバイスシミュレーターを使用する代わりに、コンピューターに接続されている実際のデバイスを使用することをお勧めします。
IDE を介して読み込まれたアプリケーションで、場所要求のプロンプトが表示されます。
8
場所の権限が承認されたら、 Places SDK はデバイスの現在の場所を取得し、地域モニタリングコードは現在の場所から最も近い 20 個の POI の監視を開始する必要があります
テーブルの下のログサンプルを参照してください。
9
XCode またはAndroid Studio で異なる場所を切り替えると、特定の POI のエントリイベントが生成されます。 以下のログは、POI へのエントリで想定されています。
テーブルの下のログサンプルを参照してください。
10
地域モニターが近くの POI を見つけたら、場所の ping を送信してテストする必要があります。 Launch で、ジオフェンスのエントリに基づいて、トリガーへの場所拡張を使用する新しいルールを作成します。 次に、Mobile Core を使用してポストバックを送信し、新しいアクションを作成します。 Slackの Webhook アプリを作成すると、場所の入口と出口を確認できます。 SlackWebhook アプリの作成について詳しくは、 受信 Webhook を使用したメッセージの送信を参照してください。
10a
Launch で、次を含む Places 拡張機能のデータ要素を追加したことを確認します。
現在の POI 名
現在の POI 名
現在の POI 名 long
最終入力名
最終入力日 lat
最終入力日 long
最終離脱名
最終離脱日 lat
最終離脱日 long
タイムスタンプ
10b
イベント = Places → Enter POI で新しいルールを作成
10c
アクションの作成= Mobile Core → ポストバック
10d
Slackアプリの Webhook URL を使用します(例:https://hooks.slack.com/services/TKN5FKS68/BNFP7SVD…)。
10e
投稿本文は次のようになります。{text: User is in POI - {%%Last Entered POI Name%%} in {%%Last Entered POI City%%} additional information: Radius:{%%Last Entered POI Radius%%} Timestamp: {%%timestamp%%}}
ここで作成した特定のデータ要素を使用していることを確認します。
10f
Launch で新しいデータ要素とルールの変更をすべて公開していることを確認してください。 (Launch インターフェイスの右上にある、動作している開発ライブラリを選択する必要があります)。
11
開発者 IDE で GPX の場所を反転して、アプリケーションを再度起動してテストします。
開発環境で別の場所を選択すると、各 POI のエントリを示すSlack通知が表示されます。
簡単な概要ポイント
このテストはすべて、特定の POI の場所に移動しなくてもローカルで実行できます。 検証テストは、アプリケーションが正しく設定され、その場所に適した権限を受け取っていることを確認するのに役立ちます。

この検証により、地域モニタリングの実装で定義済みの POI が正しく動作しているかどうかという信頼性も得られます。 この手順の後、Campaign でメッセージのテストを開始し、POI のエントリと離脱に基づいて適切なメッセージが表示されるかどうかを確認します。
Places Service でのAdobe Campaign Standardのアプリ内メッセージのテスト
12
メイン Campaign ダッシュボードで、新しいアプリ内メッセージ (type = broadcast)を設定します。
12a
「トリガー」で、「場所イベントタイプ – エントリ をトリガーとして選択します。
12b
カスタムメタデータを配置」を追加のフィルターとして選択し、POI type =最終入力 POI を使用します。
ほとんどの場合、最終入力済み現在の POI と同じになるので、最終入力済み を POI タイプとして使用します。

​ 現在の POI ​ ​は、POI ジオフェンスが重複しているインスタンスでのみ使用してください。 この場合、これらの POI をランク付けする必要があり、​ 現在の POI ​ ​には、ユーザーが現在入っている可能性のある 2 つまたは 3 つのジオフェンスのうち、ランクが最も高い POI が表示されます。
12c
メッセージを受信する POI を絞り込むのに役立つカスタムメタデータキーを選択します。
12d
頻度と期間は 1 ~ 2 日に設定し、条件が気に入らない場合は、より短い期間でトリガーを期限切れにすることができます。
12e
「常に実行」、「1 回」または「クリックスルーまで」で 「常に実行」を選択すると、複数の場所でテストできます。
適切なメタデータ条件を満たす場所の変更をシミュレートすると、アプリ内メッセージが常に表示されます。
12f
表示には、「ローカル通知」以外のオプションを選択します。 これにより、アプリをフォアグラウンドでテストする際に確認しやすくなります。)
12g
アプリ内メッセージを準備/確認してデプロイします。
13
開発環境で、新しいキャンペーンルールが確実にダウンロードされるようにするには、アプリケーションを終了して再度起動します。
新しい Campaign ルールファイルをデバイスにダウンロードするには、アプリケーションを完全に再起動する必要があることを忘れないでください。
14
開発アプリケーションで、以前に作成した GPX ファイルを使用して場所を切り替えます。
設定した以前の条件に基づいて、アプリ内メッセージが表示されます。
15
次のテストでは、基本的に以前と同じステップをコピーしますが、今回はローカル通知をテストします。
期待される結果は、一致条件が満たされるたびにローカル通知が表示されることです。
16
新しいアプリ内メッセージ (type = broadcast)を設定します。
16a
「トリガー」で、「場所イベントタイプ - エントリ」をトリガーとして選択します。
16b
場所カスタムメタデータを追加のフィルターとして選択 – POI type = Last Entered POI を使用します。
16c
メッセージを受信する POI を絞り込むのに役立つカスタムメタデータキーを選択します。
16d
頻度と期間には 1 ~ 2 日だけ設定し、条件が気に入らない場合は、より短い期間でトリガーを期限切れにすることができます。
16e
「常時」、「1 回」または「クリックスルーまで」の場合は 常時
16f
表示タイプとして、「ローカル通知」を選択します。
16g
アプリ内メッセージを準備/確認してデプロイします。
17
開発者環境で、デバイスを接続し、ビルドの 再生 を押します。 その場所が機能していることを確認したら、アプリケーションをバックグラウンドで処理し、Xcode またはAndroid Studio で場所の切り替えを続行します。 場所の変化を示すコンソールの読み取りアウトが引き続き表示され、トリガーで設定された条件に応じてローカル通知も表示されます。 (1 ~ 2 秒の遅延が発生する場合があります)。
期待される結果は、一致条件が満たされるたびにローカル通知が表示されることです。
まとめ POINT
この段階では、ローカル環境で POI のエントリが見られるはずです。 また、POI 作業に基づいた Campaign からのメッセージも表示されます。 エラーが発生した場合は、Slack通知が送信されなかったかどうかを確認します。 Slackメッセージが表示されない場合は、新しい場所のエントリが記録されていない可能性があるため、アプリケーション コンソールを確認してください。 結果が成功した場合、アプリケーションが正しく実行され、Places サービスと Campaign メッセージサービスも正しく動作していることを十分に確認できます。
オンサイトテスト
場所でテストする場合、あまり変更しないでください。 Slack のポストバックをアクティブにしておくと、デバイスがその場所に対して入口と出口を取得しているかどうかを理解するのに役立ちます。
18
Wi-Fi とセルラーを無効にしてデバイスでテストを実行し、POI 領域で 1 回有効にします。
エラーが発生した場合は、Slackでジオフェンスのエントリと通知を受け取っているかどうかをメモしてください。 Slack通知のタイムスタンプはどれくらいですか?
19
セルラーを有効にし、Wi-Fi をオフにしてテストを実施します。
20
携帯電話と Wi-Fi の両方をオンにしてテストを実施します。
概要ポイント
オンサイトテストは、開発テストと密接に一致する必要があります。 ユーザーの場所を決定する際には、POI ジオフェンスに費やされる時間の長さ、セル信号の可用性、近くの Wi-Fi アクセスポイントの強度など、いくつかの環境要因が影響を与える可能性があることに注意してください。

ログサンプル

手順 8 : 場所の更新中に予想されるiOSとAndroidのログ

iOS

[AdobeExperienceSDK DEBUG <Places>]: Requesting 20 nearby POIs for device location (<lat>, <longitude>)
[AdobeExperienceSDK DEBUG <Places>]: Response from Places Query Service contained <n> nearby POIs

Android

PlacesExtension - Dispatching nearby places event with n POIs

手順 9 : ベント中にiOSとAndroidのログが予想される

iOS

[AdobeExperienceSDK TRACE <Places>]: Dispatching Places region entry event for place ID <poiId>

Android

PlacesExtension -  Dispatching Places Region Event for <poi name> with eventType entry
recommendation-more-help
475fad96-f29f-4dca-a109-68bf0557e825