Adjust Flutter SDKを実装することで、アトリビューションやイベントなどのさまざまなデータをFlutterアプリで計測できます。以下の手順に従って、Adjust SDKをアプリに実装してください。また、GitHubのサンプルアプリもご覧ください。
1. プロジェクトにSDKを追加する
FlutterアプリでAdjust Flutter SDKを使用するには、それをプロジェクトに追加する必要があります。
Adjust SDKをFlutterプロジェクトに連携させるには、次のステップに従ってください。
- 以下を
pubspec.yaml
ファイルに追加します:
dependencies: adjust_sdk: ^$FLUTTER_VERSION
- プロジェクトに移動して、次のコマンドを実行します。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には以下のパーミッションが必要です。まだ存在しない場合は、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"/>
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を使用する
- Huawei Referrer APIを使用する(Huaweiデバイスのみ)
Google Play Referrer API
Google Play Referrer APIをサポートするには、build.gradle
ファイルに以下を追加します。
implementation 'com.android.installreferrer:installreferrer:2.2'
Proguardを使用している場合は、Proguardファイルに以下の設定が含まれていることを確認してください。
-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インストールリファラーをサポートしています。この機能を有効にする方法:
-
App DashboardでMetaアプリIDを検索します。詳しくはMetaのApp Dashboardのドキュメントをご覧ください。
-
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.framework | Apple Search Adsのアトリビューションを処理します。 | |
StoreKit.framework | SKAdNetworkフレームワークにアクセスできるようにします。 | iOS14以降のデバイスでAdjust SDKがSKAdNetworkとのコミュニケーションを行うために必要です。 |
AppTrackingTransparency.framework | Adjust 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までお問い合わせください。