2015-11-06 7 views
7

Ho letto sull'uso di google-services.json in What does google-services.json really do?: Dopo aver rilasciato l'app in pubblico, non funzionerà senza il file json.autoActivityTracking durante l'utilizzo di google-services.json

GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
mTracker = analytics.newTracker(R.xml.global_tracker); 

ho letto in un altro articolo su autoActivityTracking. Possiamo anche creare un file di risorse XML in res/xml/ e Attività di configurazione che vogliamo monitorare:

 <string name="ga_trackingId">UA-XXXXXX-X</string> 

     <bool name="ga_autoActivityTracking">true</bool> 

     <screenName name="com.example.android.dinnerapp.MainActivity"> 
      Main screen 
     </screenName> 

     <screenName name="com.example.android.dinnerapp.OrderDinnerActivity"> 
      Order dinner 
     </screenName> 

     <screenName name="com.example.android.dinnerapp.RemoveMealActivity"> 
      Eradicate dinner 
     </screenName> 

     <screenName name="com.example.android.dinnerapp.ShowDinnerActivity"> 
      Show dinner 
     </screenName> 

     <screenName name="com.example.android.dinnerapp.ShowRecipeActivity"> 
      Show recipe 
     </screenName> 

e configurarlo utilizzando:

GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
mTracker = analytics.newTracker(R.xml.track_app); 

mi chiedo come sia possibile quando stiamo usando JSON file invece?

+0

Sono curioso, hai capito questo alla fine? – nana

+0

No purtroppo. A causa dell'utilizzo della libreria ABS, non ero in grado di utilizzare il file json (conflitto con la nuova API di Android). Quindi ho usato la vecchia soluzione che ho menzionato nella risposta. – Ali

risposta

3

Mi sono imbattuto nello stesso problema in questo momento, ho fatto una piccola indagine e sono giunto alla conclusione che questo non può essere fatto.

A giudicare dal the sources del plug-in Gradle che genera risorse da google-services.json, tutto ciò che può inserire nel file XML di configurazione è l'ID di tracciamento. Ecco la parte rilevante di codice:

private static String getGlobalTrackerContent(String ga_trackingId) { 
    return "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + 
      "<resources>\n" + 
      " <string name=\"ga_trackingId\">" + ga_trackingId + "</string>\n" + 
      "</resources>\n"; 
} 

Dal momento che non è possibile dividere il file di configurazione in due, non vedo un modo per utilizzare queste proprietà e il plugin allo stesso tempo.

Direi che dovresti solo generare i file una volta, metterli nelle tue risorse, quindi rimuovere il plug-in e aggiungere qualsiasi stringa tu abbia bisogno di te stesso. Sono deluso dal fatto che Google rimuova le vecchie istruzioni e ne distribuisce di nuove che comportano l'utilizzo di alcune soluzioni semi-cotte.