我在What does google-services.json really do?中了解了google-services.json的用法:在公开发布应用后,如果没有json文件,它将无效。
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mTracker = analytics.newTracker(R.xml.global_tracker);
我在另一篇关于autoActivityTracking
的文章中读到了。我们还可以在res/xml/
下创建一个xml资源文件,并设置我们要跟踪的活动:
<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>
使用以下方式进行设置:
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mTracker = analytics.newTracker(R.xml.track_app);
我想知道当我们使用json文件时它是如何可能的?
答案 0 :(得分:3)
我现在偶然发现了同样的问题,做了一些调查,得出结论无法完成。
根据从google-services.json
生成资源的Gradle插件的the sources来判断,配置XML文件中的所有内容都是跟踪ID。这是代码的相关部分:
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";
}
由于您无法将配置文件拆分为两个,我看不到同时使用这些属性和插件的方法。
我会说你应该只生成一次文件,将它们放入你的资源中,然后删除插件并添加你自己需要的任何字符串。我很遗憾谷歌删除旧的指令并推出新的指令,其中涉及使用一些半生不熟的解决方案。