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

導入: Flutter¶

Flutter Package のインストール¶

プロジェクト配下にある pubspec.yaml を開き、dependencies 欄に repro_flutter を追記します。

dependencies:
  flutter:
    sdk: flutter
  ...
  repro_flutter: ^3.16.1

注釈

  • Flutter Package バージョン 3.0.0 以降は Sound null safety 機能 に対応したものとなります。 したがって、Sound null safety 機能を利用していないアプリケーションにパッケージを導入する場合、バージョン 3.0.0 未満を使用してください。
  • Flutter Package バージョン 3.14.0 以降は Android v1 embedding の処理を削除したものとなります。 したがって、Android v1 embedding を利用しているアプリケーションにパッケージを導入する場合、バージョン 3.14.0 未満を使用してください。

以下のコマンドを実行して、Repro の Flutter Plugin をインストールします。

$ flutter packages get

iOS プロジェクトへの導入¶

プロジェクトのルートディレクトリで、以下のコマンドを実行してください。

$ cd ios
$ pod install

Android プロジェクトへの導入¶

アプリケーションの app/build.gradle を開き、以下の設定を追加してください。

dependencies {
  implementation 'io.repro:repro-android-sdk:5.20.0'
  testImplementation 'junit:junit:4.12'
  androidTestImplementation 'com.android.support.test:runner:1.0.2'
  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

Android Gradle Plugin 8.0 以上を利用する場合の対応¶

ご利用の Android Gradle Plugin のバージョンにより、アプリのビルド時に以下のようなエラーが発生する場合があります。

A problem occurred configuring project ':repro_flutter'.
> Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
> Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

このようなエラーが発生した場合、Flutter の Android プロジェクト直下の build.gradle ファイル内 allprojects ブロックに以下のコードを追記してください。

subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            project.android {
                if (namespace == null) {
                    namespace project.group
                }
            }
        }
    }
}

セットアップ¶

iOS¶

AppDelegate で Repro をインポートしたうえで、 application:didFinishLaunchingWithOptions: で Repro#setup を実行して セッション を開始します。

YOUR_APP_TOKEN には管理画面の 設定 > プロジェクト設定 > 認証情報 に記載されている SDK トークン を設定してください。

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GeneratedPluginRegistrant registerWithRegistry:self];
  // Override point for customization after application launch.
  [Repro setup:@"YOUR_APP_TOKEN"];
  return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

Android¶

android.app.Application を継承した独自の Application クラスを作成します。 すでにクラスを作成している場合は、独自の Application クラスを作成する必要はありません。

package your.package.name;

import android.app.Application;
import io.repro.android.Repro;

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
    }
}

また AndroidManifest.xml の記述を以下のように修正します。

    <application
-         android:name="${applicationName}"
+         android:name="your.package.name.MyApplication"
          android:label="repro_integration_test"
          android:icon="@mipmap/ic_launcher">

独自 Application クラスの onCreate メソッドで Repro.setup を実行して、新しい セッション を開始してください。

public void onCreate() {
    super.onCreate();
    Repro.setup(this, "YOUR_APP_TOKEN");
}

YOUR_APP_TOKEN には管理画面の 設定 > プロジェクト設定 > 認証情報 に記載されている SDK トークン を設定してください。

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にセットする
  • « 導入: React Native (Expo)
  • 導入 »

About Us Careers Terms of Service Privacy Policy Cookie Policy

© 2022 Repro Inc.