5

我試圖在我的Android應用程序中實現跟蹤標記管理器this guide,但出於某種原因,我無法將事件推送到數據層。Google標記管理器不會將事件推送到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); 
} 

當我嘗試運行我的應用程序,我所有的日誌中說的是這個

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. 

截圖從我的GA和標籤管理帳戶:

tigger's

TagManager screen

Google analytics dump

回答

1

我想出來後,我的問題的答案很簡單。

因此,我創建了一個Analytics Tracker跟蹤如果我的應用程序崩潰。我做出了一個選擇,如果我在調試模式下運行我的應用程序,也就是從AndroidStudio運行它,我的Tracker將做一個'dryRun'。

所以我覺得TagManager正在使用Google Analytics跟蹤器來發送所有事件。這就是爲什麼它有助於禁用我GoogleAnalytics跟蹤器上的dryRun。

相關問題