2015-11-06 17 views
7

Przeczytałem o korzystaniu z google-services.json w What does google-services.json really do?: Po publicznym udostępnieniu aplikacji nie będzie działać bez pliku json.autoActivityTracking podczas korzystania z google-services.json

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

czytałem w innym artykule o autoActivityTracking. Możemy również utworzyć plik zasobów xml pod res/xml/ i konfiguracja Działania chcemy śledzić:

 <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> 

i skonfigurowanie go za pomocą:

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

Zastanawiam się, jak to jest możliwe, gdy jesteśmy przy użyciu json zamiast tego plik?

+0

Jestem ciekaw, czy w końcu to wymyśliłeś? – nana

+0

Nie niestety. Z powodu korzystania z biblioteki ABS nie mogłem użyć pliku json (konflikt z nowym API Android). Użyłem więc starego rozwiązania, o którym wspomniałem w odpowiedzi. – Ali

Odpowiedz

3

Natknąłem się na ten sam problem już teraz, zrobiłem małe śledztwo i doszedłem do wniosku, że to nie może być wykonane.

Sądząc po the sources wtyczki Gradle, która generuje zasoby z google-services.json, wszystko, co można umieścić w pliku konfiguracyjnym XML, to identyfikator śledzenia. Oto odpowiednia część kodu:

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"; 
} 

Ponieważ nie można podzielić plik konfiguracyjny w dwóch, nie widzę sposób na wykorzystanie tych właściwości i wtyczki w tym samym czasie.

Powiedziałbym, że powinieneś po prostu wygenerować pliki raz, umieścić je w swoich zasobach, a następnie usunąć wtyczkę i dodać wszystkie potrzebne ci napisy. Jestem zawiedziony, że Google usuwa stare instrukcje i wypuszcza nowe, które wymagają użycia niedopieczonych rozwiązań.

Powiązane problemy