地理位置與地標

地理位置可協助您透過經緯度和 Android 應用程式中預先定義的地標來測量位置資料。

trackLocation 呼叫均會傳送以下資訊:

  • 在 Adobe Mobile Services 使用者介面中定義之地標 (POI) 的經緯度和位置。

    此資訊會傳遞至行動解決方案變數以進行自動報告。

  • 以內容資料傳遞之與中心的距離和精確度。

    系統不會自動擷取上述變數。您必須透過以下​傳送其他資料​一節中的指示,對應此類內容資料變數。

動態 POI 更新

自 4.2 版開始,POI 皆會在 Adobe Mobile 使用者介面中定義,並會動態同步至應用程式設定檔案。此同步作業須使用 ADBMobile JSON 設定中的 analytics.poi 設定:

"analytics.poi": "https://assets.adobedtm.com/…/yourfile.json",

如果尚未設定此項目,您必須下載更新版本的 ADBMobile.json 檔案,並將其新增至您的應用程式。如需詳細資訊,請參閱下載 SDK 和測試工具

追蹤地理位置和 POI

  1. 新增資料庫至您的專案與實作生命週期。

    如需詳細資訊,請參閱核心實作與生命週期中的​新增 SDK 和設定檔至您的 IntelliJ IDEA 或 Eclipse 專案

  2. 匯入資料庫:

    import com.adobe.mobile.*;
    
  3. 呼叫 trackLocation 以追蹤目前位置:

    Location currentLocation = new Location("my location here"); 
    Analytics.trackLocation(currentLocation, null);
    
    秘訣

    您可以隨時呼叫 trackLocation

    您可以依照定位策略一文所述,判斷傳遞至 trackLocation 呼叫的位置。如需詳細資訊,請參閱 Android 定位策略

此外,如果該位置經判斷位於定義的 POI 半徑範圍內,則 a.loc.poi 內容資料變數將會與 trackLocation 點擊一併傳入,並會在​****「位置劃分」報表中報告為 POI。a.loc.dist 內容變數也會以公尺為單位傳送來自定義座標的距離。

傳送其他資料

除了位置資料之外,您還可以隨著每次追蹤位置呼叫傳送其他內容資料:

HashMap<String, Object> locationContextData = new HashMap<String, Object>(); 
locationContextData.put("myapp.location.LocationSource", "GPS"); 
 
Location currentLocation = new Location("my location here"); 
Analytics.trackLocation(currentLocation, locationContextData);

內容資料值必須對應至 Adobe Mobile Services 使用者介面中的自訂變數:

位置內容資料

經緯度會透過三種不同內容資料參數傳送,且各參數代表不同程度的精準度,共有六個內容資料參數。

例如,座標 lat = 40.93231、long = -111.93152 以 1 公尺精準度呈現位置。此位置會根據下列變數的精準度來分割:

a.loc.lat.a= 040.9

a.loc.lat.b = 32

a.loc.lat.c = 31

a.loc.lon.a = -111.9

a.loc.lon.b = 31

a.loc.lon.c = 52

視目前位置準確度而定,部分精準度可能會顯示為 00。例如,如果該位置目前準確程度至 100 公尺,則 a.loc.lat.ca.loc.lon.c 將會填入 00

請記住以下資訊:

  • trackLocation 要求會在 trackAction 呼叫的同等項中傳送。

  • 系統不會在一般 trackActiontrackState 呼叫過程中傳遞 POI,因此您必須使用 trackLocation 呼叫來追蹤 POI。

  • 必要時,您應經常呼叫 trackLocation 以追蹤位置和 POI。

    建議您視應用程式需求,在應用程式啟動時呼叫 trackLocation,並在隨後視需要再次進行。

  • POI 只有在已於應用程式設定檔案中完成定義後,才會填入。

    POI 不會套用至先前已傳送的歷史 trackLocation 呼叫。

  • trackLocation 呼叫支援傳送與 trackAction 呼叫類似的其他內容資料。

  • 當兩個 POI 的直徑範圍重疊時,會使用包含目前位置的第一個 POI。

    當您的 POI 重疊時,您應依最高至最低精細度的順序列出 POI,以確保報告最精細的 POI。

本頁內容