Параметры событий Firebase не регистрируются с помощью метода # 1, но работают с методом # 2.Зачем? - PullRequest
1 голос
/ 24 апреля 2019

В настоящее время я инициализирую Firebase Analytics в своем классе приложений следующим образом:

public class App extends MultiDexApplication {

    public static FirebaseAnalytics mFirebaseAnalytics;

    @Override
    public void onCreate() {
        super.onCreate();

        // Obtain the FirebaseAnalytics instance.
        mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
    }

    public static FirebaseAnalytics getFirebaseAnalytics() {
        return mFirebaseAnalytics;
    }

}

У меня есть класс обработчика FirebaseHandler, который обрабатывает все журналы:

public class FirebaseHandler {

    /**
     * Log an event to Firebase, without a bundle.
     */
    public static void logEvent(String event) {
        App.getFirebaseAnalytics().logEvent(event, null);
    }

    /**
     * Log an event to Firebase, with a bundle
     */
    public static void logEvent(String event, Bundle bundle) {

        // I've removed some other code which makes checks on the bundle here

        App.getFirebaseAnalytics().logEvent(event, bundle);
    }

}

ЗатемКогда я хочу зарегистрировать событие внутри действия, я делаю следующее:

Bundle bundle = new Bundle();

bundle.putString(FirebaseAnalytics.Param.SOURCE, "TestSource");
bundle.putString(FirebaseAnalytics.Param.MEDIUM, "TestMedium");
bundle.putString(FirebaseAnalytics.Param.CAMPAIGN, "TestCampaign");

FirebaseHandler.logEvent(FirebaseAnalytics.Event.CAMPAIGN_DETAILS, bundle);
FirebaseHandler.logEvent(FirebaseAnalytics.Event.APP_OPEN, bundle);

Однако я заметил, что на самом деле это не регистрация параметров события в Google Analytics, а когда я изменяю последнийдве строки к следующему, это работает:

App.getFirebaseAnalytics().logEvent(FirebaseAnalytics.Event.CAMPAIGN_DETAILS, bundle);
App.getFirebaseAnalytics().logEvent(FirebaseAnalytics.Event.APP_OPEN, bundle);

Почему это?Что здесь происходит, что останавливает регистрацию параметров в первом блоке кода, но не во втором?

...