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

導入: Cocos2d-x¶

Repro SDKの導入¶

最新の Repro-Cocos2d-x-SDK からzipファイルをダウンロードしてください。

ダウンロードしたファイルに含まれるReproとRepro.frameworkディレクトリをCocos2d-xのプロジェクトディレクトリ直下にコピーしてください。

Add Repro Bridge to Project Directory

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

プロジェクトへのブリッジクラスの追加¶

XCodeでプロジェクトを開き、先ほど追加したReproディレクトリ内にある ReproCpp.h, ReproCpp.mm, ReproCppConfig.h, ReproConverterIOS.h, ReproConverterIOS.mm, Properties, NewsFeed/NewsFeedEntry.mm, RemoteConfig/RemoteConfig.mm をプロジェクトに追加してください。

また、Xcodeへファイルを追加する際のオプションとして”Destination: Copy items if needed”のチェックを外してください。

Add Repro Bridge to iOS Project

プロジェクトへ必要なフレームワークの追加¶

ダウンロードした Repro.framework をプロジェクトに追加してください。

追加する際は、”Destination: Copy items if needed”のチェックを入れてください。また、 Added folders のオプションは"Added folders: Create groups"を選択することをお勧めします。

Add Repro SDK to iOS Project

さらに、以下のフレームワークを追加してください。

プロジェクトの Targets > Build Phases > Link Binary With Libraries にて追加してください。

  • SystemConfiguration.framework
  • WebKit.framework

警告

  • Repro Cocos2d-x SDK 5.0.0未満を利用する場合は CoreTelephony.framework 、 MobileCoreServices.framework 、 Security.framework も追加が必要です。
Add Frameworks

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

注釈

AndroidプロジェクトにRepro SDKを導入する場合は、Cocos2d-x v3.10以上およびAndroid Studioを推奨しております。推奨環境以外では、導入にあたって一部のコードや手順が異なる場合がございますのでご了承ください。

SDKのインストール¶

proj.android-studio/app ディレクトリ内に libs ディレクトリを作成してください。

上記で作成した libs ディレクトリの中にダウンロードしたファイルに含まれる repro-android-sdk-x.x.x.aar をコピーしてください。

次に app/build.gradle に以下のコードを追加してください。

repositories {
    flatDir { dirs 'libs' }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(':libcocos2dx')
    implementation(name: 'repro-android-sdk-x.x.x', ext:'aar')
}

注釈

Gradle 3.4 未満のバージョンの場合は 'implementation' が利用できません。 'compile'を利用してください。

独自のApplicationクラスを使っていない場合:

AndroidManifest.xml を開いて application エレメントの android:name 属性に io.repro.android.Cocos2dxApplication を指定してください。

 <!-- AndroidManifest.xml -->
  <application
      android:name="io.repro.android.Cocos2dxApplication"
      android:label="@string/app_name"
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher">

独自のApplicationクラスを使っている場合:

独自のApplicationクラスの onCreate にて io.repro.android.Cocos2dxBridge.setupWithoutToken(Application) を呼び出してください。

 public class MyApplication extends Application {
     @Override
     public void onCreate() {
         super.onCreate();
           ...
+        io.repro.android.Cocos2dxBridge.setupWithoutToken(this);
         ...
     }
 }

なお、Repro SDKを使用するにはアプリケーションに以下のパーミッションが必要です。これらのパーミッションはAndroid Studioの「Manifest Merging」機能によって自動で追加されるため、AndroidManifest.xml に手動で追加する必要はありません。

  • android.permission.INTERNET
  • android.permission.ACCESS_NETWORK_STATE

ブリッジクラスの追加¶

app/jni/Android.mk の LOCAL_SRC_FILES と LOCAL_C_INCLUDES を以下のように編集してください。

   // Android.mk
   LOCAL_SRC_FILES := hellocpp/main.cpp \
                      ../../../Classes/AppDelegate.cpp \
                      ../../../Classes/HelloWorldScene.cpp \
                      ../../../Repro/ReproCpp.cpp \
                      ../../../Repro/ReproConverterAndroid.cpp \
                      ../../../Repro/NewsFeed/NewsFeedEntry.cpp \
                      ../../../Repro/RemoteConfig/RemoteConfig.cpp \
                      ../../../Repro/Properties/StandardEventProperties.cpp \
                      ../../../Repro/Properties/ViewContentProperties.cpp \
                      ../../../Repro/Properties/SearchProperties.cpp \
                      ../../../Repro/Properties/AddToCartProperties.cpp \
                      ../../../Repro/Properties/AddToWishlistProperties.cpp \
                      ../../../Repro/Properties/InitiateCheckoutProperties.cpp \
                      ../../../Repro/Properties/AddPaymentInfoProperties.cpp \
                      ../../../Repro/Properties/PurchaseProperties.cpp \
                      ../../../Repro/Properties/ShareProperties.cpp \
                      ../../../Repro/Properties/LeadProperties.cpp \
                      ../../../Repro/Properties/CompleteRegistrationProperties.cpp

   LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes
   LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../Repro
   LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../Repro/Properties

app/src 以下に下記のクラスを追加してください。

package com.your.PackageName;
import org.cocos2dx.lib.Cocos2dxHelper;
import io.repro.android.Repro;

public class ReproBridge {
    public static void enableInAppMessagesOnForegroundTransition() {
        Repro.enableInAppMessagesOnForegroundTransition(Cocos2dxHelper.getActivity());
    }

    private static native void nativeListenerHandler(final RemoteConfigListener.FetchStatus status);

    public static void fetchRemoteConfig(final long timeout) {
        Repro.getRemoteConfig().fetch(timeout, new RemoteConfigListener() {
            @Override
            public void onCompletion(FetchStatus status) {
                ReproBridge.nativeListenerHandler(status);
            }
        });
    }
}

Repro SDKの導入 にて追加した Repro/ReproCppConfig.h の以下の箇所を編集してください。

   #ifndef __REPRO_CPP_CONFIG_H__
   #define __REPRO_CPP_CONFIG_H__

   #define CLASS_NAME_REPRO_CLIENT_BRIDGE  "io.repro.cocos2dx.v3.sample.ReproBridge"
   #define JNI_REPRO_CLIENT_BRIDGE         io_repro_cocos2dx_v3_sample_ReproBridge

   #endif

セットアップ¶

AppDelegate.cpp で Repro/ReproCpp.h をインクルードし、 applicationDidFinishLaunching で セッション を開始してください。

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

#include "ReproCpp.h"

...

bool AppDelegate::applicationDidFinishLaunching() {

  ...

  // Setup Repro
  ReproCpp::setup("YOUR_APP_TOKEN");

  ...
}

ある程度操作した後、 「ホームボタン」を押下 します。SDKが収集した情報は アプリがバックグラウンドに移行 した時点でサーバーにアップロードされます。

homebutton
homebutton

イベントをトラックする¶

意味のある分析や、マーケティング施策を実施するためには、適切なユーザーグループを絞り込むことが重要です。イベントをトラックしてユーザーの行動を記録することにより、管理画面上で目的に応じた適切なユーザーグループを選択することができるようになります。

イベントを用いたユーザーグループ指定の例:

  • 分析画面から対象となるユーザーグループを選択して、キャンペーンを作成する
  • キャンペーンの作成画面で、イベントやユーザープロフィールを組み合わせて、配信対象となるユーザーグループを指定する

どういうイベントをとるべきかわからない場合は、まず各画面の表示時にイベントをとってみることをおすすめします。

例:

@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("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");

Repro の分析チームによるイベントの設定支援サービスも提供しておりますので、ご希望の方は、ぜひ お問い合わせ からお問い合わせください。

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

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

  • 複数のデバイスを使っているユーザーを同一視できる
  • キャンペーン機能の テスター管理 において、アプリで管理しているユーザーを識別できる
  • キャンペーンの配信対象の抽出がより精緻になる

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

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

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

Next...¶

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

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

About Us Careers Terms of Service Privacy Policy Cookie Policy

© 2020 Repro Inc.