hello-world.jp.net
webエンジニアのメモ。とりあえずやってみる。

[Android][AndroidStudio]Google Analytics SDK for Android v3 を導入する

公開日時

基本的には公式ドキュメントのチュートリアルのままですが、AndroidStudioで開発しているAndroidアプリにGoogleAnalytics(v3)を入れてみた際のメモです。

まずはAnalyticsのトラッキングコードを取得します。

アプリのトラッキングコードを作成すると、以下のようにiOS、AndroidのSDKダウンロードリンクが表示されます。

android_analytics

ダウンロードしたディレクトリの中にある libGoogleAnalyticsServices.jar をプロジェクトのディレクトリにコピーします。

  • build.gradle の dependencies にanalyticsを追加
dependencies {
    compile files('libs/libGoogleAnalyticsServices.jar')
}
  • AndroidManifest.xml にパーミッションを追加
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  • BaseActivity を作成

BaseActivityを用意して、BaseActivityを継承しているActivityがAnalyticsのトラッキング対象になるようにします。

package com.example.app;

import android.app.Activity;

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

public class BaseActivity extends Activity {

    @Override
    protected void onStart() {
        super.onStart();
        EasyTracker.getInstance(this).activityStart(this);
    }

    @Override
    protected void onStop() {
        super.onStop();
        EasyTracker.getInstance(this).activityStop(this);
    }
}
  • トラッキング対象のActivityにBaseActivityを継承させる
public class SampleActivity extends BaseActivity {

}
  • res/values 以下に analytics.xml を作成
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="ga_trackingId">UA-XXXX</string>
    
    <bool name="ga_autoActivityTracking">true</bool>
    
    <bool name="ga_reportUncaughtExceptions">true</bool>
</resources>

この状態でアプリを立ち上げればAnalyticsが実行され、Analyticsのリアルタイム検索にログが残るようになります。

参考


Related #Android

[Android]AndroidStudioでVolleyを使う

AndroidでAPI通信を行いたい場合に何を使うのがいいのかなと思い探してみたところ、「 Volley」というGoogle製のライブラリを使うと良さそうだったので、インストールしてみました。

[Android]GenymotionにGoogle Playを入れる

apkをGenymotionで起動しようとして、

[Android]Genymotionの電源をOFFにしたらUnable to start the Genyotion virtual device.エラーになった場合の対処法

端末再起動確認と思い、Genymotionの電源ボタンを長押しして電源OFFにしたら、Genymotionが起動しなくなってしまいました。

nginxで静的jsonファイル配信時に日本語が文字化けしないようにする

androidアプリ開発時に、volleyを使ってjson形式のapiを取得する処理を書いていたのですが、jsonに日本語が入っていると文字化けする現象に遭遇しました。