1

我的活动中有以下代码:

import com.google.ads.Ad;
import com.google.ads.AdListener;
import com.google.ads.AdRequest.ErrorCode;
import com.google.analytics.tracking.android.EasyTracker;

public class ActivityX extends Activity implements AdListener {

    private GameView view;
    private AddAds ad;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        init();
    }

    private void init() {

        view = new GameView(this);

        LinearLayout.LayoutParams surfaceViewLinearLayoutParams = new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1);

        LinearLayout surfaceViewLinearLayout = new LinearLayout(this);
        surfaceViewLinearLayout.setOrientation(LinearLayout.VERTICAL);
        surfaceViewLinearLayout.setGravity(Gravity.CENTER);
        surfaceViewLinearLayout.setLayoutParams(surfaceViewLinearLayoutParams);
        surfaceViewLinearLayout.addView(view);


        setContentView(surfaceViewLinearLayout);
    }



    // Analytics/Admob methods
    @Override
    public void onStart() {
        super.onStart();
        EasyTracker.getInstance().activityStart(this);
    }


    @Override
    public void onStop() {
        super.onStop();
        EasyTracker.getInstance().activityStop(this);
    }

}

我的surfaceview中的以下代码:

import com.google.analytics.tracking.android.EasyTracker;


public class MathGameView extends SurfaceView implements Runnable {


    private Context context;
    private SurfaceHolder holder;
    private Canvas canvas;
    private Thread thread = null;
    private Paint textPaint;
    private boolean loop;

    private DisplayMetrics metrics;
    private float width, height; 

    public GameView(Context context) {
        super(context);

        loop = true;
        this.context = context;
        metrics = new DisplayMetrics();
        ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(metrics);
        ((Activity) context).getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        holder = getHolder();
        thread = new Thread(this);
    }



    @Override
    public void run() {

        Looper.prepare();

        while (loop) {

            if (!holder.getSurface().isValid()) {
                continue;
            }

            canvas = holder.lockCanvas();

            check(true);


            holder.unlockCanvasAndPost(canvas);

        }

        Looper.loop();

    }

    check(boolean checkB)
    {
        if(checkB)
        {
            loop = false;
            EasyTracker.getTracker().sendEvent("msg", "msgfromgameview",
                    Build.MANUFACTURER+"-"+Build.MODEL+" test "+5, (long) 1);
        }
    }
}

如果我在我的 Activity 中调用 EasyTracker.getTracker().sendEvent() 它可以正常工作,但是如果我在我的 GameView 中调用它也可以吗?如何测试 EasyTracker 是否工作而无需等待几天才能在分析帐户中看到某些内容?

4

0 回答 0