前提条件
Flurry Analytics には、最低でも Android API レベル 10 が必要です。
Flurry Analytics は、Google Play Services が提供する Android 広告 ID を使用し、ユーザーの広告追跡設定を確認して尊重します。
- API キーを取得する
アプリを作成することから始めます。アプリを作成すると、SDK を使用するときに必要な Flurry API キーを受け取ります。
- Flurry Android SDK をダウンロードする
Flurry Android SDK をアプリケーションに組み込むには、現在 2 つの方法があります。
jCenter 経由でインストール (推奨): Flurry SDK は jCenter 経由で入手できます。build.gradle ファイルに以下を含めることで、アプリケーションに追加できます。
// In your top level Gradle config file:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
}
}
allprojects {
repositories {
jcenter()
}
}
// In your main app's Gradle config file:
dependencies {
compile 'com.flurry.android:analytics:6.3.1'
/*
* Optional library to help in monetizing your app with ads.
* If you include the ads library, you do not need to include
* the analytics library as it is a transitive dependency.
*/
// compile 'com.flurry.android:ads:6.3.1'
//... other dependencies
}
Flurry Dev Portalから .jar ファイルをダウンロードし
ます ダウンロードしたアーカイブには、Flurry Analytics で使用する次のファイルが含まれている必要があります。
- FlurryAnalytics_x.yzjar: Flurry の分析コレクションとレポート コードを含むライブラリ (xyx は Flurry SDK の最新バージョンを示します)。
- FlurryAds_x.yzjar: Flurry の広告をアプリケーションに組み込むためのオプションのライブラリ (xyx は Flurry SDK の最新バージョンを示します)。
- ProjectApiKey.txt: このファイルには、プロジェクトの名前とプロジェクトの API キーが含まれています。
- FlurryAndroidAnalyticsReadmevx.yzpdf: 手順が記載された PDF ファイル (xyx は Flurry SDK の最新バージョンを示します)。
- FlurryAnalytics_x.yzjar をクラスパスに追加する¶
Android Studio の使用: Android Studio を使用
している場合、Gradle 構成で jCenter を介して SDK をインストールしている限り、Flurry SDK をプロジェクトに含めるためにこれ以上何もする必要はありません。
ただし、ダウンロードした .jar ファイルを使用する場合は、次の手順に従います。
FlurryAnalytics-5.xxjar をプロジェクトの libs フォルダーに追加します。[ファイル] > [プロジェクト構造] > [モジュール] > [依存関係] に移動します。「プロジェクト構造」ポップアップの下部にある「+」ボタンをクリックして、依存関係を追加します。「ファイル依存関係」を選択し、libs/FlurryAnalytics-5.xxjar を追加します。Google Play サービス ライブラリを追加します。個々の Google Play Service API を選択的にコンパイルする場合は、Google アナリティクス API を含める必要があります。
Eclipse を使用
する FlurryAnalytics-5.xxjar をプロジェクトの libs フォルダーに追加します。各 JAR ファイルを右クリックし、[ビルド パス] > [ビルド パスに追加] を選択します。Google Play Service ライブラリの jar ファイルを追加します。
AndroidManifest.xml を構成します。
インターネットにアクセスし、Flurry SDK がネットワーク接続の状態を確認できるようにします。- マニフェストで versionName 属性を指定して、そのバージョン名でデータが報告されるようにします。- アプリがサポートする Android OS の最小バージョンを宣言します。Flurry は、Android OS バージョン 10 以降をサポートしています。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.flurry.sample"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="21" />
<!--required permission-->
<uses-permission android:name="android.permission.INTERNET" />
<!--optional permission - highly recommended-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--optional permission -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:name=".MyApplication"
android:icon="@drawable/app_icon">
<!--your activities -->
</application>
</manifest>
- init、onStartSession、および onEndSession への呼び出しを追加します
次の呼び出しを追加して、次の手順に従います。
- アプリを出荷する場合は、アプリケーション クラスに FlurryAgent.init(Context, String) への呼び出しを挿入し、アプリケーションのコンテキストとプロジェクトの API キーへの参照を渡します。
//アプリを出荷する場合、まだ行っていない場合は Application クラスを拡張します。
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
new FlurryAgent.Builder()
.withLogEnabled(false)
.build(this, FLURRY_API_KEY);
}
}
または、onStartSession() の直前に init() を呼び出すこともできます。アプリケーション全体で同じ API キーを使用する場合、init() を複数回呼び出しても安全です。任意のタイプのコンテキストを使用できます。
- アプリを作成していて、最小ターゲットが Ice Cream Sandwich 以上 (minSdkVersion が API レベル 14 以上に設定されている) である場合、セッション処理は完全に自動であり、手順 3 と 4 をスキップできます。 Service などのコンテキスト、または最小ターゲットが Gingerbread の場合は、手順 3 または 4 に進みます。
- アクティビティの onStart() メソッドに FlurryAgent.onStartSession(Context) への呼び出しを挿入し、Context オブジェクト (アクティビティやサービスなど) への参照を渡します。Gingerbread をターゲットにしている場合、Flurry は、アプリ内の各アクティビティの onStart() メソッドを使用し、アクティビティ自体を Context オブジェクトとして渡すことを推奨しています。サービス (または他のコンテキスト) の場合、サービスまたは関連するコンテキストを Context オブジェクトとして使用します。グローバル Application コンテキストを渡さないでください。
- セッションが完了したら、アクティビティの onStop() メソッドに FlurryAgent.onEndSession(Context) への呼び出しを挿入します。Gingerbread をターゲットにしている場合は、アプリの各アクティビティの onStop メソッドを使用することをお勧めします。サービス (または他のコンテキスト) の場合、インストルメント化された各サービスで onStop が呼び出されるようにします。onStartSession の呼び出しごとに onEndSession の呼び出しを一致させ、onStartSession の呼び出しに使用されたものと同じ Context オブジェクトを渡すようにしてください。グローバル Application コンテキストを渡さないでください。
onStartSession() を呼び出したが onEndSession() を呼び出していない Context がある限り、セッションは継続されます。また、最後の Context が onEndSession() を呼び出してから 10 秒以内に新しい Context が onStartSession() を呼び出した場合、新しいセッションが作成されるのではなく、セッションが再開されます。セッションの長さ、使用頻度、イベント、およびエラーは、同じセッションの一部として引き続き追跡されます。これにより、ユーザーがアプリ内のあるアクティビティから別のアクティビティに移行するときに、アクティビティごとに個別のセッションが追跡されるのではなく、多くのアクティビティにまたがる単一のセッションが存在することが保証されます。アクティビティの使用状況を追跡する場合、カスタム イベント セクションで説明されているように、Flurry は logEvent() を使用することをお勧めします。
セッションを再開できるウィンドウを変更する場合は、FlurryAgent.init() を呼び出す前に FlurryAgent.setContinueSessionMillis(long milliseconds) を呼び出します。
Flurry SDK は、SDK がセッションの完了を判断すると、セッション中にキャプチャされたデータを自動的に転送します。デバイスが接続されていない場合、データはデバイスに保存され、デバイスが再接続されると転送されます。SDK はプロセス全体を管理します。現在、アプリがデータ転送をスケジュールする方法はありません。
あなたは終わった!基本的なメトリック データの受信を開始するために必要なことはこれだけです。