5

Sto tentando di implementare Tag Manager nella mia applicazione Android dopo this guide, ma per qualche motivo non posso spingere gli eventi sul datalayer.Google Tag Manager non sposterà l'evento sul datalayer su Android

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    TagManager tagManager = TagManager.getInstance(getApplicationContext()); 
    TagManager.getInstance(getApplicationContext()).setVerboseLoggingEnabled(true); 

    PendingResult<ContainerHolder> pending = tagManager.loadContainerPreferFresh(GOOGLE_TAG_MANAGER_CONTAINER_ID, R.raw.gtm_default_container_v2); 
    pending.setResultCallback(new ResultCallback<ContainerHolder>() { 
     @Override 
     public void onResult(ContainerHolder containerHolder) { 
      TagManager.getInstance(getApplicationContext()).getDataLayer().push("event", "screenName"); 
      // Using the "pushEvent" method doesn't work either 
      // TagManager.getInstance(getApplicationContext()).getDataLayer().pushEvent("screenName", DataLayer.mapOf()); 
     } 
    }, 2, TimeUnit.SECONDS); 
} 

Quando provo a fare funzionare la mia applicazione, tutto il mio registro sta dicendo è questo

V/GoogleTagManager﹕ Attempting to load a container from the resource ID 2131099649 (com.example.cpe.gatestapp:raw/gtm_default_container_v2) 
V/GoogleTagManager﹕ Deleted 0 expired items 
W/GoogleTagManager﹕ Failed to extract the container from the resource file. Resource is a UTF-8 encoded string but doesn't contain a JSON container 
V/GoogleTagManager﹕ The container was successfully loaded from the resource (using binary file) 
E/GoogleTagManager﹕ Invalid macro: _gtm.loadEventEnabled 
V/GoogleTagManager﹕ Attempting to load resource from disk 
V/GoogleTagManager﹕ loadAfterDelay: containerId=GTM-XXXXXX delay=0 
D/GoogleTagManager﹕ Setting previous container version: MQ$0 
E/GoogleTagManager﹕ Invalid macro: _gtm.loadEventEnabled 
V/GoogleTagManager﹕ The Disk resource was successfully read. 
V/GoogleTagManager﹕ Start loading resource from network ... 
V/GoogleTagManager﹕ Successfully loaded supplemented resource: zzi_p: "MQ$0" 
V/GoogleTagManager﹕ No change for container: GTM-XXXXXX 
V/GoogleTagManager﹕ loadAfterDelay: containerId=GTM-XXXXXX delay=43200000 
D/GoogleTagManager﹕ Setting previous container version: MQ$0 
E/GoogleTagManager﹕ Invalid macro: _gtm.loadEventEnabled 
V/GoogleTagManager﹕ setting refresh time to current time: 1435818825632 
V/GoogleTagManager﹕ Load resource from network finished. 

Immagini dai miei conti GA e Gestione tag:

tigger's

TagManager screen

Google analytics dump

risposta

1

La risposta alla mia domanda è piuttosto semplice dopo averlo capito.

Così ho creato un Tracker di Analytics quale traccia è se la mia applicazione si blocca. Ho fatto un'opzione, che se sto eseguendo la mia applicazione in modalità di debug, ovvero eseguendola da AndroidStudio, il mio Tracker eseguirà un 'dryRun'.

Quindi ho capito che TagManager sta utilizzando il tracker di Analytics per inviare tutti gli eventi. Ecco perché ha aiutato a disattivare dryRun sul mio tracker GoogleAnalytics.