5

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 を作成します。

4

2 に答える 2

4

何だと思う?にある ClientID を保存するファイルdata/data/com.my.app/files/gaClientIdと、アプリのダウンロード ファイルもこのフォルダーに保存されます。アプリを起動するたびに、フォルダーを調べてその内容を削除しました。したがって、分析が初期化されたときに、 gaClientId ファイルを作成し、新しいユーザーを作成する新しいファイルを作成しました

TIPのルートには何も保存しないでくださいfiles

于 2013-04-18T19:36:29.877 に答える