導入: Android¶
SDKをインストールする¶
プロジェクトのReproへの依存を追加します。
settings.gradle
に以下を追記してください。(古いバージョンのGradleでプロジェクトを作成した場合には app/build.gradle
内に追記してください)
repositories {
...
maven { url 'https://cdn.reproio.com/android' }
...
}
アプリケーションの app/build.gradle
に以下を記述してください。
dependencies {
...
implementation 'io.repro:repro-android-sdk:5.13.0'
...
}
注釈
Gradle 3.4 未満のバージョンの場合は 'implementation' が利用できません。 'compile'を利用してください。
Repro SDKを使用するにはアプリケーションに以下のパーミッションが必要です。これらのパーミッションはAndroid Studioの「Manifest Merging」機能によって自動で追加されるため、AndroidManifest.xml
に手動で追加する必要はありません。
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
注釈
Manifest Mergingの詳細については こちらの記事 をご覧ください。
MultiDex¶
Androidアプリケーション (APK) は、実行コードとしてDalvik Executable (DEX)形式のファイルを内部に持っています。このDEXファイルの仕様上、1つのDEXファイルから参照できるメソッド数は65536個までと制限されています。Repro SDKを導入することにより、アプリケーションから参照されるメソッド数が65536個を超える場合、アプリケーションのMultiDex化が必要です。
エラーメッセージ例:
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2
このエラーを回避するために、アプリケーションのbuild.gradleファイルに以下を追加してください。
android {
defaultConfig {
multiDexEnabled true
}
}
注釈
DEXファイルの制限事項とMultiDex化の詳細については、 こちらの記事 をご覧ください。
インストールが完了したら セットアップ に進んでください。
ProGuard¶
Repro SDKを導入したアプリケーションにProGuardを適用する場合は、以下のルールを指定してください。
-dontwarn io.repro.android.**
-keep class io.repro.android.** { *; }
注釈
この設定は、Repro Android SDK 5.5.1 以上のバージョンでは実施する必要はありません。
セットアップ¶
独自のApplicationクラスを実装していない場合は、実装して AndroidManifest.xml
に以下のように指定してください。
<application android:name="YOUR_APPLICATION_CLASS_NAME">
Applicationの onCreate
メソッドで新しい セッション を開始してください。
YOUR_APP_TOKEN
には管理画面の 設定 > プロジェクト設定 に記載されている SDK トークン を設定してください。
import io.repro.android.Repro;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
...
// Setup Repro
Repro.setup(this, "YOUR_APP_TOKEN");
...
}
}
SDKが収集した情報は定期的にサーバーにアップロードされます。
イベントをトラックする¶
意味のある分析や、マーケティング施策を実施するためには、適切なユーザーグループを絞り込むことが重要です。イベントをトラックしてユーザーの行動を記録することにより、管理画面上で目的に応じた適切なユーザーグループを選択することができるようになります。
イベントを用いたユーザーグループ指定の例:
どういうイベントをとるべきかわからない場合は、まず各画面の表示時にイベントをとってみることをおすすめします。
例:
@implementation MainViewController
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[Repro track:@"MainViewController" properties:nil];
...
}
class MainViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
Repro.track(event: "MainViewController", properties: [:])
...
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onResume() {
super.onResume();
Repro.track("MainActivity");
...
}
}
#include "ReproCpp.h"
...
ReproCpp::track("Initialized");
Repro.Track ("Initialized");
// Will be written later
class MainScreen extends React.Component {
componentDidMount() {
Repro.track("MainScreen", {});
}
...
}
import 'package:repro_flutter/repro.dart';
...
await Repro.track("Initialized");
ユーザーIDをセットする¶
Repro では分析結果はユーザー単位で集計しています。ユーザーIDをセットすることにより、下記のメリットがあります:
- 複数のデバイスを使っているユーザーを同一視できる
- キャンペーンの配信対象の抽出がより精緻になる
詳しくは こちら をご覧ください。
Next...¶
その他の機能についての詳細は、以下をご覧ください。