2015-04-08 2 views
0

Я попытался добавить в приложение настраиваемый глобальный файл конфигурации, но он продолжает вызывать сбои приложения. Если я выберу пользовательский конфигурационный файл gloabl, все будет работать нормально.Ошибка Google Analytics v4 с настраиваемой глобальной конфигурацией

Конкретная версия событий, которая приводит к аварии является:

  • Start приложение, это работает отлично в первый раз круглый
  • убить приложение с помощью Task Killer
  • приложение повторно нагрузки, приложение больше не запускается, часто просто загружая черный экран.

В журнале нет сообщений, указывающих на ошибку; приложение просто не будет загружать второй раз.

Я добавил код, который я использовал ниже, в основном скопированный из документации Google

Глобальное дополнение конфигурации проявить

<meta-data 
     android:name="com.google.android.gms.analytics.globalConfigResource" 
     android:resource="@xml/global_config" /> 

Глобальный конфигурационный файл

<string name="ga_appName">AppName</string> 
<string name="ga_appVersion">Version1.1.0</string> 

<!--Remember to set to WARNING log level for production --> 
<string name="ga_logLevel">verbose</string> 

<!--time before hit is sent to google --> 
<integer name="ga_dispatchPeriod">30</integer> 

<!--Remember to set to FALSE for production version--> 
<bool name="ga_dryRun">true</bool> 

код Tracker в области применения

HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>(); 
public enum TrackerName { 
    APP_TRACKER, 
} 


// creates analytics tracker 
public synchronized Tracker getTracker(TrackerName trackerId) { 
    if (!mTrackers.containsKey(trackerId)) { 
     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     Tracker t = analytics.newTracker(R.xml.app_tracker); 
     t.enableAdvertisingIdCollection(true); 
     mTrackers.put(trackerId, t); 
    } 
    return mTrackers.get(trackerId); 
} 

код для инициализации трекера в классе BaseActivity

((MyApplication) getApplication()).getTracker(MyApplication.TrackerName.APP_TRACKER); 

Я на немного потери, чтобы исправить это без выхода журнала и довольно скудной документации, так что любая помощь будет высоко ценится!

Благодаря

ответ

0

После нескольких экспериментов я нашел способ обойти эту проблему. Я удалил файл global_config.xml и забрал его ссылку в файле манифеста.

Вместо этого я установить глобальные параметры конфигурации в методе getTracker

// creates analytics tracker 
public synchronized Tracker getTracker(TrackerName trackerId) { 
    if (!mTrackers.containsKey(trackerId)) { 
     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     analytics.setDryRun(true); 
     analytics.setLocalDispatchPeriod(1000); 
     analytics.getLogger().setLogLevel(com.google.android.gms.analytics.Logger.LogLevel.VERBOSE); 
     Tracker t = analytics.newTracker(R.xml.app_tracker); 
     t.enableAdvertisingIdCollection(true); 
     mTrackers.put(trackerId, t); 
    } 
    return mTrackers.get(trackerId); 
} 

приложение теперь работает отлично с пользовательской глобальной конфигой и без сбоев!

Смежные вопросы