adjust-icon

Flutter SDK 連携ガイド

Adjust Flutter SDKを実装することで、アトリビューションやイベントなどのさまざまなデータをFlutterアプリで計測できます。以下の手順に従って、Adjust SDKをアプリに実装してください。また、GitHubのサンプルアプリもご覧ください。

1. プロジェクトにSDKを追加する

FlutterアプリでAdjust Flutter SDKを使用するには、それをプロジェクトに追加する必要があります。

Adjust SDKをFlutterプロジェクトに連携させるには、次のステップに従ってください。

  1. 以下をpubspec.yamlファイルに追加します:
pubspec.yaml
dependencies:
adjust_sdk: ^4.38.1
  1. プロジェクトに移動して、次のコマンドを実行します。Visual Studioは、pubspec.yamlファイルが編集された後に、このコマンドを自動的に実行します。
Terminal window
$ flutter packages get

2. Androidデバイスを設定する

Google Play 開発者サービスを追加する

Google Playストアを対象とするアプリは、Google広告IDgps_adid)を使用してデバイスを識別する必要があります。これを行うには、以下のdependencyをbuild.gradleファイルの dependenciesセクションに追加してください。

build.gradle
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'

パーミッションを追加

Adjust SDKには以下のパーミッションが必要です。まだ存在しない場合は、AndroidManifest.xmlファイルに追加してください。

AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Adjust SDKには、バージョン4.32.0以降、デフォルトでcom.google.android.gms.AD_IDパーミッションが含まれています。アプリをCOPPAに準拠させる必要がある場合や、Google Playストアをターゲットにしていない場合は、removeディレクティブを追加することでこれを削除することができます。

AndroidManifest.xml
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>

ProGuardを設定する

ProGuardを使用している場合は、以下のルールをカスタムのProGuardファイルに追加してください。

Proguard.pro
-keep public class com.adjust.sdk.** { *; }
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId();
boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.** { *; }

Google Play ストアでアプリを公開していない場合は、以下のルールをProGuardファイルに追加してください。

Proguard.pro
-keep public class com.adjust.sdk.** { *; }

インストールリファラーを設定する

インストールリファラーはアプリインストールをソースにアトリビュートするのに使用できる、ユニークな識別子です。Adjust SDKは、アトリビューションにこの情報を必要とします。この情報を収集する方法は3つあります。

Google Play Referrer API

Google Play Referrer APIをサポートするには、build.gradleファイルに以下を追加します。

build.gradle
implementation 'com.android.installreferrer:installreferrer:2.2'

Proguardを使用している場合は、Proguardファイルに以下の設定が含まれていることを確認してください。

Proguard.pro
-keep public class com.android.installreferrer.** { *; }

Huawei Referrer API

バージョン4.22.0以降より、Adjust SDKはHuawei AppGalleryバージョン10.4以降のHuaweiデバイスでのインストールの記録をサポートしています。Huawei Referrer APIの使用を開始するために行う設定変更はありません。

Metaとのリファラー連携

Adjust SDKはv4.36.0以降でMetaインストールリファラーをサポートしています。この機能を有効にする方法:

  1. App DashboardでMetaアプリIDを検索します。詳しくはMetaのApp Dashboardのドキュメントをご覧ください。

  2. AdjustConfigインスタンスのfbAppIdプロパティにアプリIDを割り当てます。

    AdjustConfig config = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
    config.fbAppId = "<fb_app_id_string>";

3. iOS frameworksを追加する

特定のiOS frameworksをアプリに実装した場合、Adjust SDKは追加の情報を取得できます。これらのframeworksによって特定のSDK機能を有効にできますが、SDKが正常に動作するために必須というわけではありません。Frameworksを実装して、 プロジェクト設定(Project Settings) > ビルドフェーズ(Build Phases) > バイナリとライブラリをリンク(Link Binary With Libraries) でそれらをオプションとしてマークすることができます。

4. Adjust SDKを初期化する

Flutterアプリ内で、出来るだけ早くAdjust SDKを初期化するようにしてください。これを行うには、アプリトークンを使ってConfigオブジェクトとアプリを実行したい環境を初期化します。

AdjustConfig config = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
Adjust.start(config);

5. セッション記録を設定する

SDKがセッション情報をAdjustサーバーにパスできるようにするには、セッションの記録を設定する必要があります。

Androidデバイスのセッションの記録を設定するには、アプリがフォアグラウンドで実行しているときはAdjust.onResume()メソッドを呼び出し、アプリがフォアグラウンドで実行していないときはAdjust.onPause()メソッドを呼び出します。これはグローバルまたはウィジェットごとに実行できます。

class AdjustExampleApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Adjust Flutter Example App',
home: new MainScreen(),
);
}
}
class MainScreen extends StatefulWidget {
@override
State createState() => new MainScreenState();
}
class MainScreenState extends State<mainscreen> with WidgetsBindingObserver {
@override
initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
initPlatformState(); // <-- Initialise SDK in here.
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.inactive:
break;
case AppLifecycleState.resumed:
Adjust.onResume();
break;
case AppLifecycleState.paused:
Adjust.onPause();
break;
case AppLifecycleState.suspending:
break;
}
}
}

6. アプリのビルド

設定が完了しました。これでFlutterアプリのビルドと実行が可能になります。ログを有効化して、問題がないか確認してください。ログに、Install trackedメッセージがあるか確認してください。

Adjust SDKを使用してユーザーをアトリビューションできるようになりました。

7. Adjust SDKシグネチャーを追加する

Adjust SDKシグネチャーを使用して、Adjust SDKによって送信される全ての通信に署名できます。これによりAdjustのサーバーは、シグネチャーがない不正インストールを検出し、拒否することができます。

Adjust SDKシグネチャーの使用を開始するには、担当のテクニカルアカウントマネージャーまたはsupport@adjust.comまでお問い合わせください。

8. 実装をテストする

Adjust SDKは、実装をテストとトラブルシューティングのためのツールを提供します。以下の手順に従って、実装をテストしてください。

  • 環境をAdjustEnvironment.sandboxに設定します。
  • Adjustダッシュボードにサンドボックスフィルターを追加します。
  • ログレベルをAdjustLogLevel.verboseに設定します。

Google Play 開発者サービスの連携をテストする

Adjust SDKがデバイスのGoogle広告IDを受信できるかどうかテストするには、ログレベルをAdjustLogLevel.verboseに、環境をAdjustEnvironment.sandboxに設定します。アプリを起動してセッションまたはイベントを計測します。SDKが広告IDを読み取った場合、SDKはgps_adid(Google Play開発者サービス広告ID)パラメーターをログに記録します。

Google広告IDを取得する際に問題が発生した場合は、SDK Githubリポジトリで質問を投稿するか、support@adjust.comまでお問い合わせください。