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: ^$FLUTTER_VERSION
  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"/>
v4.32.0で変更

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

v4.22.0に追加

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

Metaとのリファラー連携

v4.36.0に追加

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) でそれらをオプションとしてマークすることができます。

Framework説明注意
AdSupport.frameworkデバイスのIDFAにアクセスできるようにします。また、iOS 14以前のデバイスでLAT情報にアクセスできるようになります。アプリが「子供向け」カテゴリーをターゲットにしている場合、このフレームワークは追加しないでください。
AdServices.frameworkApple Search Adsのアトリビューションを処理します。
StoreKit.frameworkSKAdNetworkフレームワークにアクセスできるようにします。iOS14以降のデバイスでAdjust SDKがSKAdNetworkとのコミュニケーションを行うために必要です。
AppTrackingTransparency.frameworkAdjust SDKがユーザーのATT同意ダイアログをラップし、iOS 14以降のデバイスで同意レスポンスにアクセスできるようにするために必要です。アプリが「子供向け」カテゴリーをターゲットにしている場合、このフレームワークは追加しないでください。

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までお問い合わせください。