title: How to send screen view event, in order to help Firebase prediction make more accurate prediction
body: <p>I have a single <code>Activity</code>, with multiple <code>Fragment</code>s in a <code>ViewPager</code>.</p>
  
  <p>Currently, this is my way, to send screen view event to both Google Analytics and Firebase</p>
  
  <hr>
  
  <pre><code>public static void trackView(Activity activity, String view) {
      trackFBView(activity, view);
      trackGAView(view);
  }
  
  private static void trackFBView(Activity activity, String view) {
      if (activity == null) {
          return;
      }
  
      FirebaseAnalytics firebaseAnalytics = getFirebaseAnalytics();
      if (firebaseAnalytics == null) {
          return;
      }
  
      firebaseAnalytics.setCurrentScreen(activity, view, null);
  }
  
  private static void trackGAView(String view) {
      Tracker tracker = Utils.getTracker();
      if (tracker == null) {
          return;
      }
      tracker.setScreenName(view);
      tracker.send(new HitBuilders.ScreenViewBuilder().build());
  }
  
  public static FirebaseAnalytics getFirebaseAnalytics() {
      if (false == isGooglePlayServicesAvailable()) {
          return null;
      }
  
      return FirebaseAnalytics.getInstance(JStockApplication.instance());
  }
  </code></pre>
  
  <hr>
  
  <p>In my <code>ViewPager</code>'s listener, this is how I send the screen view event.</p>
  
  <pre><code>private ViewPager.OnPageChangeListener getOnPageChangeListener() {
      return new ViewPager.OnPageChangeListener() {
  
          @Override
          public void onPageSelected(int position) {
  
              if (position == 0) {
                  Utils.trackView(DetailedStockFragmentActivity.this, "InfoFragment");
  </code></pre>
  
  <hr>
  
  <p>After some testing, I realize I do receive screen view event in GA, <strong>but not in Firebase.</strong></p>
  
  <p>Later, I realize <code>firebaseAnalytics.setCurrentScreen</code> doesn't actually send a screen view event to Firebase. <code>firebaseAnalytics.setCurrentScreen</code> merely prepare an implicit parameter. It will only sent across to firebase, during the next event.</p>
  
  <p>Currently, in my fragments, I didn't fire any events explicitly.</p>
  
  <p>I was wondering, in order to help Firebase make better prediction (Help Firebase to identify user in looking at which screen), I was wondering, should I send "Screen View" event explicitly as follow?</p>
  
  <pre><code>private static void trackFBView(Activity activity, String view) {
      if (activity == null) {
          return;
      }
  
      FirebaseAnalytics firebaseAnalytics = getFirebaseAnalytics();
      if (firebaseAnalytics == null) {
          return;
      }
  
      firebaseAnalytics.setCurrentScreen(activity, view, null);
  
      // Question: Should I do this to help Firebase makes better prediction?
      firebaseAnalytics.logEvent(view + "_ScreenView", null);
  }
  </code></pre>