5

Ich versuche, Tag Manager in meiner Android-Anwendung nach this guide zu implementieren, aber aus irgendeinem Grund kann ich Ereignisse auf die Datenebene nicht schieben.Google-Tag-Manager wird keine Ereignisse auf Datenlayer auf Android schieben

@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); 
} 

Wenn ich versuche, meine App zu laufen, mein Protokoll ist diese

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. 

Screenshots von meinem GA und Tag Manager-Konten sagt:

tigger's

TagManager screen

Google analytics dump

Antwort

1

Die Antwort auf meine Frage ist ziemlich einfach, nachdem ich es herausgefunden habe.

Also ich habe einen Analytics-Tracker erstellt, der verfolgt, wenn meine Anwendung abstürzt. Ich habe eine Option gemacht, dass, wenn ich meine Anwendung im Debug-Modus laufen lasse, aka läuft es von AndroidStudio, macht mein Tracker einen 'dryRun'.

So dachte ich, dass der TagManager den Analytics-Tracker verwendet, um alle Ereignisse zu senden. Deshalb half es, den dryRun auf meinem GoogleAnalytics-Tracker zu deaktivieren.