web-dev-qa-db-ja.com

FirebaseAnalyticsの下部シート画面のカスタム画面名を設定する

スライド式のボトムシートを使ったアクティビティがあります。ユーザーがボトムシートまたはメインアクティビティ画面をど​​のくらいの時間表示しているかを追跡したいと思います。

FirebaseAnalytics#setCurrentScreen(Activity activity, String screenName, String screenClassOverride)を使用して、一番下のシートが表示されるようにしようとしています。 screenNameを次のように指定します

FirebaseAnalytics.setCurrentScreen(activity, "bottom_sheet", null);

次に、一番下のシートを閉じると、

FirebaseAnalytics.setCurrentScreen(activity, null, null);

メインアクティビティの名前に戻ります。

ただし、FAからログを取得します。

W/FA:setCurrentScreenを同じクラスと名前で呼び出すことはできません

誰かがスクリーン名を適切に設定する方法を教えてくれるなら、それは素晴らしいことです。

8
Emarc Magtanong

screenNameは、アクティビティ/フラグメント/ダイアログを識別するために使用するものです...

次のようにsetCurrentScreenを使用する必要があります。

_FirebaseAnalytics.setCurrentScreen(activity, "bottom_sheet", this.getClass().getSimpleName());
_

または

_FirebaseAnalytics.setCurrentScreen(activity, "bottom_sheet", MyActivity.class.getSimpleName());
_

Firebase Analyticsは現在のアクティビティを自動的に記録することを忘れないでください。公式のFirebaseドキュメントから、次のsetCurrentScreen情報を確認してください。

画面レポートは自動的に有効になり、この関数を呼び出さなくても、現在のアクティビティのクラス名が記録されることに注意してください。クラス名は、アクティビティのonResumeコールバックでこの関数を呼び出し、screenClassOverrideパラメーターを指定することにより、オプションでオーバーライドできます。

あなたはこれとより多くのドキュメントを見つけることができます ここ

今、あなたはそのエラーメッセージを受け取っています

W/FA:setCurrentScreenを同じクラスと名前で呼び出すことはできません

setCurrentScreen()で同じscreenNamescreenClassOverrideを設定する場合

そのメソッドを呼び出す場所で_Log.d_を使用すると、同じものを2回以上呼び出しているかどうかを確認するのに役立ちます。しかし、私はあなたがそれについて心配する必要はないと思います(それは警告です)。私は現在のプロジェクトでそれを見てきましたが、すべてが正常に機能しています。

12
MiguelHincapieC