Google Analytics
イベントと画面を経由で にレポートするヘルパー クラスをセットアップしました。EasyTracker
理由は不明ですが、アプリを再起動するたびに、すべての画面とイベントを新しいユーザーとしてレポートしgaClientId
ます。一意の ID を保存するファイルを確認しました。 .しかし、アプリを再起動するたびに、このファイルに保存されている ID が変更され、同じままである他のアプリと比較されます。
これがヘルパークラスで使用するコードです。ApplicationContextコンテキストも使用しようとしたことに注意してください。インスタントディスパッチを無効にしようとしました(はい、すぐに報告するのは良い習慣ではないことを知っています)
private static String mLastView = "";
public static void sendView(String view,Context ctx) {
// Don't report screen twice in a row
if(view.equals(mLastView)) return;
mLastView = view;
EasyTracker.getInstance().setContext(ctx);
EasyTracker.getTracker().sendView(view);
EasyTracker.getInstance().dispatch();
}
public static void sendEvent(Context ctx,String category,String action,String label,long value){
EasyTracker.getInstance().setContext(ctx);
EasyTracker.getTracker().sendEvent(category, action, label, value);
EasyTracker.getInstance().dispatch();
}
更新:
簡単なトラッカーなしで GoogleAnalytics クラスを使用しようとしましたが、まだ機能しません。何らかの読み取り権限の問題があると思います (しかし、書き込みはできますか?)、次の場所にあるファイルdata/data/com.my.app/files/gaClientId
更新:
私は何でも試してみました。gaClientId
ファイルを手動で読み取ることができます。問題はありません。ヘルパー クラスの有無にかかわらずレポートに疲れていますが、アプリを起動するたびに新しい ClientID を作成します。