スライド式のボトムシートを使ったアクティビティがあります。ユーザーがボトムシートまたはメインアクティビティ画面をどのくらいの時間表示しているかを追跡したいと思います。
FirebaseAnalytics#setCurrentScreen(Activity activity, String screenName, String screenClassOverride)
を使用して、一番下のシートが表示されるようにしようとしています。 screenNameを次のように指定します
FirebaseAnalytics.setCurrentScreen(activity, "bottom_sheet", null);
次に、一番下のシートを閉じると、
FirebaseAnalytics.setCurrentScreen(activity, null, null);
メインアクティビティの名前に戻ります。
ただし、FAからログを取得します。
W/FA:setCurrentScreenを同じクラスと名前で呼び出すことはできません
誰かがスクリーン名を適切に設定する方法を教えてくれるなら、それは素晴らしいことです。
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()
で同じscreenName
とscreenClassOverride
を設定する場合
そのメソッドを呼び出す場所で_Log.d
_を使用すると、同じものを2回以上呼び出しているかどうかを確認するのに役立ちます。しかし、私はあなたがそれについて心配する必要はないと思います(それは警告です)。私は現在のプロジェクトでそれを見てきましたが、すべてが正常に機能しています。