Plug-in da Adobe: getGeoCoordinates
O plug-in getGeoCoordinates
permite capturar a latitude e a longitude dos dispositivos dos visitantes. A Adobe recomenda usar esse plug-in se você desejar capturar dados de localização geográfica nas variáveis do Analytics.
Instale o plug-in usando a extensão SDK da Web
O Adobe oferece uma extensão que permite usar os plug-ins usados com mais frequência com o SDK da Web.
-
Faça logon na Coleção de dados da Adobe Experience Platform usando suas credenciais da Adobe ID.
-
Clique em Tags à esquerda e clique na propriedade de tag desejada.
-
Clique em Extensões à esquerda e, em seguida, clique na guia Catálogo guia
-
Localize e instale o Plug-ins comuns do SDK da Web extensão.
-
Clique em Elementos de dados à esquerda e, em seguida, clique no elemento de dados desejado.
-
Defina o nome do elemento de dados desejado com a seguinte configuração:
- Extensão: plug-ins comuns do SDK da Web
- Elemento de dados:
getGeoCoordinates
-
Salve e publique as alterações no elemento de dados.
Instale o plug-in implementando manualmente o SDK da Web
Este plug-in ainda não é compatível com uma implementação manual do SDK da Web.
Instale o plug-in usando a extensão Adobe Analytics.
O Adobe oferece uma extensão que permite usar os plug-ins usados com mais frequência com o Adobe Analytics.
-
Faça logon na Coleção de dados da Adobe Experience Platform usando suas credenciais da Adobe ID.
-
Clique na propriedade de tag desejada.
-
Vá para a guia Extensões e clique no botão Catálogo.
-
Instale e publique a extensão Plug-ins comuns do Analytics.
-
Caso ainda não o tenha feito, crie uma regra denominada "Inicializar plug-ins" com a seguinte configuração:
- Condição: Nenhuma
- Evento: principal – biblioteca carregada (início da página)
-
Adicione à regra acima uma ação com a seguinte configuração:
- Extensão: Plug-ins comuns do Analytics
- Tipo de ação: inicializar getGeoCoordinates
-
Salve e publique as alterações na regra.
Instale o plug-in usando o editor de código personalizado do
Se você não quiser usar a extensão de plug-in de plug-ins comuns do Analytics, poderá usar o editor de código personalizado.
- Faça logon na Coleção de dados da Adobe Experience Platform usando suas credenciais da Adobe ID.
- Clique na propriedade desejada.
- Vá até a guia Extensões e clique no botão Configurar na extensão do Adobe Analytics.
- Expanda a opção Configurar rastreamento usando código personalizado, que revela o botão Abrir editor.
- Abra o editor de código personalizado e cole na janela de edição o código do plug-in fornecido abaixo.
- Salve e publique as alterações na extensão do Analytics.
Instalar o plug-in usando o AppMeasurement
Copie e cole o seguinte código em qualquer lugar no arquivo AppMeasurement depois que o objeto de rastreamento do Analytics for instanciado (usando s_gi
). A preservação de comentários e números de versão do código na sua implementação ajuda a Adobe a solucionar possíveis problemas.
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getGeoCoordinates v2.0 */
function getGeoCoordinates(){if(arguments&&"-v"===arguments[0])return{plugin:"getGeoCoordinates",version:"2.0"};var b=function(){if("undefined"!==typeof window.s_c_il)for(var a=0,c;a<window.s_c_il.length;a++)if(c=window.s_c_il[a],c._c&&"s_c"===c._c)return c}();"undefined"!==typeof b&&(b.contextData.getGeoCoordinates="2.0");window.cookieWrite=window.cookieWrite||function(a,c,f){if("string"===typeof a){var h=window.location.hostname,b=window.location.hostname.split(".").length-1;if(h&&!/^[0-9.]+$/.test(h)){b=2<b?b:2;var e=h.lastIndexOf(".");if(0<=e){for(;0<=e&&1<b;)e=h.lastIndexOf(".",e-1),b--;e=0<e?h.substring(e):h}}g=e;c="undefined"!==typeof c?""+c:"";if(f||""===c)if(""===c&&(f=-60),"number"===typeof f){var d=new Date;d.setTime(d.getTime()+6E4*f)}else d=f;return a&&(document.cookie=encodeURIComponent(a)+"="+encodeURIComponent(c)+"; path=/;"+(f?" expires="+d.toUTCString()+";":"")+(g?" domain="+g+";":""),"undefined"!==typeof cookieRead)?cookieRead(a)===c:!1}};window.cookieRead=window.cookieRead||function(a){if("string"===typeof a)a=encodeURIComponent(a);else return"";var c=" "+document.cookie,b=c.indexOf(" "+a+"="),d=0>b?b:c.indexOf(";",b);return(a=0>b?"":decodeURIComponent(c.substring(b+2+a.length,0>d?c.length:d)))?a:""};var d="";b=cookieRead("s_ggc").split("|");var k={timeout:5E3,maximumAge:0},l=function(a){a=a.coords;cookieWrite("s_ggc",parseFloat(a.latitude.toFixed(4))+"|"+parseFloat(a.longitude.toFixed(4)),30);d="latitude="+parseFloat(a.latitude.toFixed(4))+" | longitude="+parseFloat(a.longitude.toFixed(4))},m=function(a){d="error retrieving geo coordinates"};1<b.length&&(d="latitude="+b[0]+" | longitude="+b[1]);navigator.geolocation&&navigator.geolocation.getCurrentPosition(l,m,k);""===d&&(d="geo coordinates not available");return d};
/******************************************** END CODE TO DEPLOY ********************************************/
Usar o plug-in
A função getGeoCoordinates
não usa nenhum argumento. Ele retorna um dos valores a seguir:
"geo coordinates not available"
: para dispositivos que não têm dados de localização geográfica disponíveis no momento em que o plug-in é executado. Esse valor é comum na primeira ocorrência da visita, especialmente quando os visitantes precisam primeiro fornecer consentimento em relação ao rastreamento de sua localização."error retrieving geo coordinates"
: quando o plug-in encontra erros ao tentar recuperar o local do dispositivo."latitude=[LATITUDE] | longtitude=[LONGITUDE]"
: onde [LATITUDE]/[LONGITUDE] são a latitude e a longitude, respectivamente.
"40.438635333"
é arredondado para "40.4386"
com o objetivo de limitar o número de valores únicos a serem capturados. Os valores estão próximos o suficiente para apontar o local exato do dispositivo com margem de 6 metros.Esse plug-in usa um cookie chamado "s_ggc"
para armazenar coordenadas entre ocorrências, se necessário.
Exemplos
// Sets eVar1 to one of the above return values depending on the visitor's device status.
s.eVar1 = getGeoCoordinates();
// Extracts latitude and longitude into their own variables called finalLatitude and finalLongitude for use in other code/applications.
var coordinates = getGeoCoordinates();
if(coordinates.indexOf("latitude") > -1)
{
var finalLatitude = Number(coordinates.split("|")[0].trim().split("=")[1]),
finalLongitude = Number(coordinates.split("|")[1].trim().split("=")[1]);
}
// From there, you can determine whether a visitor is at, for example, the Statue of Liberty:
if(finalLatitude >= 40.6891 && finalLatitude <= 40.6893 && finalLongitude >= -74.0446 && finalLongitude <= -74.0444)
{
var visitorAtStatueOfLiberty = true;
}
else
{
var visitorAtStatueOfLiberty = false;
}
Histórico da versão
2.0 (19 de março de 2021)
- Adição do número da versão como dados de contexto.
1.0 (25 de maio de 2015)
- Versão inicial.