8

Я реализовал Firebase Analytics. Он работает нормально. Я также хочу использовать Google Analytics. На основе обсуждения here я включил ниже объект в Google-services.jsonДобавление Firebase Analytics и Google Analytics в приложение для Android

"analytics_service": { 
     "status": 2, 
     "analytics_property": { 
     "tracking_id": "<your tracking id>" 
     } 
    }, 

для Google Analytics, у меня есть трекер класса

public class PuzzleGamesTracker extends Application { 

// The following line should be changed to include the correct property id. 
private static final String PROPERTY_ID = "<your tracking id>"; 

private Tracker mTracker; 


@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 

/** 
* Gets the default {@link Tracker} for this {@link Application}. 
* @return tracker 
*/ 
synchronized public Tracker getDefaultTracker() { 
    if (mTracker == null) { 
     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG 
     mTracker = analytics.newTracker(R.xml.global_tracker); 
    } 
    return mTracker; 
} 

}

Использование

public void sendToGoogleAnalytics(String arg) { 
    // TODO Auto-generated method stub 
    sendToFireBase(); 
    PuzzleGamesTracker application = (PuzzleGamesTracker) getApplication(); 
    Tracker mTracker = application.getDefaultTracker(); 

    mTracker.setScreenName(arg); 
    mTracker.send(new HitBuilders.AppViewBuilder().build()); 

} 

public void sendToFireBase() { 
    Bundle bundle = new Bundle(); 
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item 1A"); 
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name 1A"); 
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 1"); 
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); 

    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item B"); 
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name B"); 
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 1"); 
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); 

    bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "Test_Item 2A"); 
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "Test_Name 2A"); 
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Test_Image 2"); 
    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); 

} 

Сценарий ошибок

Если я не включил нижеуказанный объект Google Analytics в google-services.json, тогда Fire Base работает правильно.

"analytics_service": { 
    "status": 2, 
    "analytics_property": { 
    "tracking_id": "<your tracking id>" 
    } 
}, 

Когда я включаю Google Analytics объект в Google-services.json, то я получаю эту ошибку ниже

Error:Execution failed for task ':android:mergeReleaseResources'. 
> [xml/global_tracker] C:\Users\android\build\generated\res\google- services\release\xml\global_tracker.xml [xml/global_tracker] C:\Users\android\res\xml\global_tracker.xml: Error: Duplicate resources 

Вопрос 1. Нужно ли мне удалить ecommerce_tracker.xml и global_tracker.xml? Он уже использует класс PuzzleGamesTracker. Как его преодолеть? 2. Пожалуйста, наставит меня, так что я мог бы иметь как FA и GA успешной реализации

+1

Почему вы реализуете две одинаковые вещи? – johnrao07

+0

Это не одно и то же. Я не ОП, но имею ту же проблему. Один из моих клиентов попросил меня добавить аналитику FireBase, пока у них уже есть Google Analytics в приложении. У них есть свои бизнес-причины, и они должны работать бок о бок, ведь оба являются продуктами Google. – breakline

ответ

7

Наконец, я нашел ответ для добавления как GA и FA

Шаг 1. Удалены файлы XML R.xml.global_tracker

Шаг 2. Заменен mTracker = analytics.newTracker (R.xml.global_tracker); с mTracker = analytics.newTracker (PROPERTY_ID);

Шаг 3. Добавьте следующее в файл JSon "analytics_service": { "статус": 2, "analytics_property": { " TRACKING_ID": ""} },

+0

как насчет идентификатора приложения в google-services.json? Могу ли я спросить вас, как вы также создаете свой проект в области огней? Я прочитал ответ от другого вопроса SO об этом. http://stackoverflow.com/a/39323887/510577, который требует от вас ИМПОРТ GA APP вместо создания нового приложения. Это ваш случай? –

+0

Вам нужен идентификатор Google Analytics, это другой идентификатор из ID проекта Firebase. Создайте новый проект на веб-сайте Google Analytics, чтобы получить идентификатор «UA-XXXXXXXX-XX». – Pelanes

0

Выглядит круто , но как насчет идентификатора приложения, нам не нужен идентификатор приложения для отслеживания событий как в Google, так и в Firebase Analytics.

+0

Если это будет ответ или комментарий? – hering

+0

Это должен быть комментарий, но у меня нет прав писать комментарии на другие сообщения! –

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