Flutter SDKの使用を開始する

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

重要:
Adjust SDKは、iOS 9以降またはAndroid APIレベル9(Gingerbread)以降に対応しています。

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

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

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

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

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

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

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

implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
注意:
Adjust SDKは、`play-services-ads-identifier' dependencyのどのバージョンとも紐付いていません。Google Play 開発者サービスのライブラリのあらゆるバージョンを使用できます。

パーミッションを追加

Adjust SDKには以下のパーミッションが必要です。まだ存在しない場合は、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ディレクティブを追加することでこれを削除することができます。

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

このパーミッションに関する詳細は、GoogleのAdvertisingIdClient.infoドキュメントをご参照ください。

ProGuardを設定する

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

-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ファイルに追加してください。

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

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

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

  • Google Play Referrer APIを使用する
  • ブロードキャストレシーバーでINSTALL_REFERRERインテントを受信します。
  • Huawei Referrer APIを使用する(Huaweiデバイスのみ)
重要:
Googleは、Google Play 開発者サービスのリファラー情報を提供する INSTALL_REFERRER インテントメソッド を廃止しました 。現在このメソッドを使用している場合は、Google Play Referrer APIに移行してください。

Google Play Referrer API

INSTALL_REFERRER インテント

Huawei Referrer API

Metaとのリファラー連携

3. iOS frameworksを追加する

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

Framework説明注意
AdSupport.frameworkSDKがIDFA値と(iOS 14以前の)LAT情報にアクセスするには、このframeworkが必要です。アプリが「子供向け」カテゴリーをターゲットにしている場合は、このframeworkは実装しないでください。
AdServices.frameworkこのフレームワークは、Apple Search Ads アトリビューションを処理するのに必要です。
StoreKit.frameworkiOS 14以降において、このframeworkはSKAdNetwork frameworkにアクセスし、SKAdNetworkとの通信をAdjust SDKで自動的に処理できるようにします。
AppTrackingTransparency.frameworkiOS 14またはそれ以降において、このframeworkはSDKがトラッキングに対する同意を確認するダイアログをラップし、ユーザーの許諾状況を示す値にアクセスします。アプリが「子供向け」カテゴリーをターゲットにしている場合は、このframeworkは実装しないでください。

4. Adjust SDKを初期化する

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

重要:
テストを実行する際は、環境が AdjustEnvironment.sandbox に設定されていることを確認してください。アプリをApp Storeに提出する前に、これをAdjustEnvironment.productionに変更してください。
AdjustConfig config = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
Adjust.start(config);

5. セッショントラッキングを設定する

SDKがセッション情報をAdjustバックエンドに渡せるようにするには、セッショントラッキングを設定する必要があります。

注意:
iOSデバイスのセッショントラッキングは、デフォルトでサポートされています。

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

ヒント:
問題が発生した場合は、全ての詳細情報とログを添付し、 support@adjust.com までメールをお送りください。

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