此插件由 Adobe Consulting 团队提供,旨在帮助您从 Adobe Analytics 中获取更多的价值。Adobe 客户关怀团队不提供对此插件的支持,包括安装或疑难解答。如果您需要关于此插件的帮助,请与贵组织的帐户管理员联系。他们可以为您安排与顾问的答疑会,以便您向顾问寻求帮助。
getGeoCoordinates
插件允许您捕获访客设备所在的纬度和经度。如果您想要在 Analytics 变量中捕获地理位置数据,Adobe 建议使用此插件。
Adobe 提供了一个扩展,通过该扩展,您可以使用一些最常用的插件。
如果您不想使用插件扩展,则可以使用自定义代码编辑器。
在实例化(使用 s_gi
)Analytics 跟踪对象后,将以下代码复制并粘贴到 AppMeasurement 文件中的任意位置。在您的实施中保留代码的注释和版本号可帮助 Adobe 对任何潜在问题进行疑难解答。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getGeoCoordinates v1.0 */
s.getGeoCoordinates=function(){var d=this,b="",a=d.c_r("s_ggc").split("|"),e={timeout:5E3,maximumAge:0},f=function(c){c=c.coords;var a=new Date;a.setTime(a.getTime()+18E5);d.c_w("s_ggc",parseFloat(c.latitude.toFixed(4))+"|"+parseFloat(c.longitude.toFixed(4)),a); b="latitude="+parseFloat(c.latitude.toFixed(4))+" | longitude="+parseFloat(c.longitude.toFixed(4))},g=function(a){b="error retrieving geo coordinates"};1<a.length&&(b="latitude="+a[0]+" | longitude="+a[1]);navigator.geolocation&& navigator.geolocation.getCurrentPosition(f,g,e);""===b&&(b="geo coordinates not available");return b};
/******************************************** END CODE TO DEPLOY ********************************************/
getGeoCoordinates
方法不使用任何参数。它会返回以下任一值:
"geo coordinates not available"
:对于在插件运行时没有可用地理位置数据的设备。此值在首次访问点击时很常见,特别是在访客需要首先准许跟踪其位置时。"error retrieving geo coordinates"
:对于插件尝试检索设备位置时遇到任何错误的情况"latitude=[LATITUDE] | longtitude=[LONGITUDE]"
:其中 [LATITUDE]/[LONGITUDE] 分别表示纬度和经度坐标值会四舍五入到最接近的小数点后四位。例如,值 "40.438635333"
会舍入到 "40.4386"
以限制要捕获的唯一值的数量。这些值足以能够将设备精确定位到 20 英尺内的确切位置。
如果需要,此插件会使用名为 "s_ggc"
的 Cookie 来存储点击之间的坐标。
以下代码…
s.eVar1 = s.getGeoCoordinates();
…根据访客的设备状态,将 eVar1 设置为等于上述返回值之一
以下代码会将纬度和经度提取到它们自己的变量(称为 finalLatitude 和 finalLongitude)中,以供在其他代码/应用程序中使用
var coordinates = s.getGeoCoordinates();
if(coordinates.indexOf("latitude") > -1)
{
var finalLatitude = Number(coordinates.split("|")[0].trim().split("=")[1]),
finalLongitude = Number(coordinates.split("|")[1].trim().split("=")[1]);
}
通过此变量,您可以确定访客的位置,例如是否正在参观自由女神像:
if(finalLatitude >= 40.6891 && finalLatitude <= 40.6893 && finalLongtude >= -74.0446 && finalLongitude <= -74.0444)
var visitorAtStatueOfLiberty = true;
else
var visitorAtStatueOfLiberty = false;