地理位置和目标点

地理位置可通过在 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 用户界面中的自定义变量:

位置上下文数据

分别使用三个不同的上下文数据参数发送纬度和经度,其中每个参数代表不同的精度级别,因此一共有六个上下文数据参数。

例如,坐标(纬度 = 40.93231,经度 = -111.93152)代表某个位置,精度为 1 m。根据以下变量的精度级别拆分此位置:

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

  • POI 不会作为典型 trackActiontrackState 调用的一部分进行传递,因此您必须使用 trackLocation 调用来跟踪 POI。

  • 应当根据需要经常调用 trackLocation 以跟踪位置和 POI。

    我们建议在应用程序启动时调用 trackLocation,之后可根据应用程序的要求在需要时进行调用。

  • 只有在应用程序配置文件中定义 POI 后,才会填充 POI。

    POI 不适用于先前发送的历史 trackLocation 调用。

  • trackLocation 调用支持发送其他上下文数据,这一点与 trackAction 调用类似。

  • 如果有两个 POI 的直径重叠,则使用包含当前位置的第一个 POI。

    如果 POI 重叠,则应按最精细到最不精细的顺序列出 POI,以确保报告最精细的 POI。

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now