Repro - Mobile Analytics for growth
English
アカウント登録 管理画面に戻る
  • 動作環境
  • 管理画面ガイド
  • 開発ガイド
    • アカウント作成
      • Repro アカウントを作成
      • SDK の導入
        • iOS
        • Android
          • SDKをインストールする
          • セットアップ
          • イベントをトラックする
          • ユーザーIDをセットする
          • プッシュ通知を配信する
          • Next...
        • Unity
        • Cordova
        • Monaca
        • Cocos2d-x
        • React Native
        • React Native (Expo)
        • Flutter
        • Web
    • iOS/Android SDK
    • Web
    • オーディエンスAPI
    • オーディエンスインポート(β)
    • プッシュAPI
    • ユーザープロフィールAPI
    • ユーザープロフィールバルクインポート
    • ニュースフィードAPI
    • 削除ユーザー登録API
    • Booster導入ガイド
    • メール(β)
  • リリースノート
  • FAQ
java

導入: 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.20.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 以上のバージョンでは実施する必要はありません。

エッジ ツー エッジ¶

Repro SDKはエッジ ツー エッジに対応していません。

そのため、エッジ ツー エッジに対応したアプリでReproをご利用いただく場合、アプリ内メッセージを表示したときにステータスバーやナビゲーションバーのデザインがアプリに設定されたものから一時的に変更される可能性があることにご留意ください。

セットアップ¶

独自の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 Repro from 'react-native-repro';

...

Repro.track("MainScreen", {});
import 'package:repro_flutter/repro.dart';

...

await Repro.track("Initialized");

ユーザーIDをセットする¶

Repro では分析結果はユーザー単位で集計しています。ユーザーIDをセットすることにより、下記のメリットがあります:

  • 複数のデバイスを使っているユーザーを同一視できる
  • キャンペーンの配信対象の抽出がより精緻になる

詳しくは こちら をご覧ください。

プッシュ通知を配信する¶

Reproでは、管理画面もしくはAPIからプッシュ通知配信をすることができます。プッシュ通知配信をするための実装は こちら をご覧ください。

Next...¶

その他の機能についての詳細は、以下をご覧ください。

  • セッション・ライフサイクル
  • イベントトラッキング
  • ユーザーID
  • デバイスID
  • ユーザープロフィール
  • WebView
  • オプトアウト機能
  • アプリ内メッセージ
  • プッシュ通知
  • Adjustで取得したアトリビューションデータをReproにセットする
  • AppsFlyerで取得したアトリビューションデータをReproにセットする
  • « 導入: iOS
  • 導入: Unity »

About Us Careers Terms of Service Privacy Policy Cookie Policy

© 2022 Repro Inc.