不正検知モバイルSDK(Android)
このガイドは、ネイティブAndroidアプリ向けにForterのAndroid SDKをインストールするためのものです。SDKの連携を行うには、Forterの管理画面のアカウント、およびForterの一意の認証情報が必要になります。以下のステップで、連携のフローについて概説します。
Step 1: SDKインストール
ForterのAndroid SDKを、ネイティブコード、またはAndroid Studioフレームワークにインストールすることができます。
Gradleの依存関係をアップデート
- アプリケーションのgradleファイルで、repositoriesブロックに以下のリポジトリを追加します。
正確な認証情報をForterの管理画面で確認してください。 認証情報は機密情報ではありませんが、ボットや検索エンジンにキャッシングされないように非公開にしています。
maven {
url "https://<forter-android-mobile-sdk-link>"
credentials {
username "<forter-user-name>"
password "<forter-password>"
}
}Forter SDKを依存関係として追加
アプリケーションのgradleファイルで、dependenciesブロックにForter SDKの依存関係を追加します。
implementation 'com.forter.mobile:fortersdk:[2.4,2.5)'- リポジトリにリストされている最新バージョンが、最新の安定版であることに注意してください。
Step 2: SDK起動 ✨
メインのApplication Contextで、ForterのAndroid SDKを初期化します。ご利用のアプ Application Classを使用していない場合はこれを追加して、アプリのManifestに登録してください。
アプリケーション クラスのonCreateメソッドに次の行を追加します。
String mobileId = ForterIntegrationUtils.getDeviceUID(this);
// Get ForterClient instance and initiate it with the application context
IForterSDK ftr = ForterSDK.getInstance();
ftr.init(this,
AppConstants.FORTER_SITE_ID, // include your unique Forter site ID
mobileId // Provide your mobile device Unique ID
);
// Start generic activity-based navigation tracking
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH)
{
registerActivityLifecycleCallbacks(ftr.getActivityLifecycleCallbacks());
}
// Send the 'app active' event.
ftr.trackAction(TrackType.APP_ACTIVE);
🔥 getDeviceIdメソッドに渡す値には、現在のAndroid Device IDを使用することをお勧めします。これはPII準拠の安定した値であるためです。🔥
ライフサイクル コールバックの登録
Forter SDKを開始した後で、アプリケーション クラスの onCreateメソッドから、ビルトイン アクティビティのライフサイクル コールバックを登録します。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH)
{
registerActivityLifecycleCallbacks(ftr.getActivityLifecycleCallbacks());
}アプリケーションのアクティビティイベントの送信
SDKを開始してアクティビティライフサイクルのコールバックを登録したら、 trackActionイベントをコールして、Forterのサーバーに最初のトラックを送信します。正確な方法については、管理画面のドキュメントで確認してください。
forter.trackAction(TrackType.APP_ACTIVE); // for sending 'app Active' eventonCreate メソッドの再確認
@Override
public void onCreate() {
super.onCreate();
// Use our / provide your existing device identifier
String mobileId = ForterIntegrationUtils.getDeviceUID(this);
// Get ForterClient instance and initiate it with the application context
IForterSDK ftr = ForterSDK.getInstance();
ftr.init(this,
AppConstants.FORTER_SITE_ID,
mobileId // Provide your mobile device Unique ID
);
// Start generic activity-based navigation tracking
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH)
{
registerActivityLifecycleCallbacks(ftr.getActivityLifecycleCallbacks());
}
// Send the 'app active' event.
ftr.trackAction(TrackType.APP_ACTIVE);
}
適切な環境のForterの専用管理画面に設定されているsiteIdを使用していることを確認してください。
Step 3: 一意な識別子の指定 :person-with-pouting-face:
ForterのSDKでは、SDKで収集されるデータを特定のデバイスやユーザーへリンクするための、一意のモバイル デバイス識別子が必要です。 この識別子は、次の特性をもつようにします。
- 各デバイスに固有である
- ユーザーのアプリのセッション中に変化しない
- PII準拠である.
ForterはANDROID_IDを使用することを推奨しています。mobileUIDを設定するには次のコマンドを使用します。
ForterIntegrationUtils.getDeviceUID(this)Androidの正式なベストプラクティスについては、こちらを参照してください。
重要 DeviceIUIDとして取得した値("mobileUID")は、connectionInformation.forterMobileUIDキーの値として バックエンドのAPIリクエストで送信する必要があります。
ケーシング :Forterのシステムにはケーシング(大文字/小文字の区別)の規定はありませんが、SDKによって生成された mobileUIDは、取引でValidation APIに渡されるmobileUIDのケーシングと一致させる必要があります。これは、ForterのシステムがSDKデータをバックエンドのValidation APIのデータへ正しく連結できるようにするためです。
Step 4: イベントデータ送信 🏬
SDKをできるだけ軽量にするために、Forter SDKはデフォルトではイベントを収集しません。これらのイベントは、該当する画面およびアクションで都度コールする必要があります。たとえば、ユーザーがアプリで商品を検索した場合、 FTRSDKNavigationTypeSearchの値でナビゲーションイベントをコールする必要があります。
Forterには、イベントを送信するための2つのメソッドがあります。
- TrackNavigation - 別の製品ページや検索結果へ移動するなど、コンテキストが変わるようなイベントを処理します。
ForterSDK.getInstance().trackNavigation(TrackType.NavigationTypeCheckout); // nav to checkoutStep 5: モバイル イベントのテスト/表示 📈
(サンドボックス環境のSiteIdを使用して)サンドボックス環境でモバイルSDKを連携すると、Sandbox Mobile Events Viewerを使用して、Forterに渡されるイベントの特定のmobileUIDを調べることができます。これにより開発者は、Forterがモバイル イベントをどのように受け取り、保存しているかを可視化することができます。

Step 6: バックエンドおよびForter APIリクエストにmobileUIDを含める
ネイティブのモバイルアプリケーションで注文が行われたときにForter SDKで生成されたmobileUIDを、バックエンドに送信します。これによりForterは、モバイル アプリケーションで収集された行動やネットワークに関するデータを、バックエンドから送信された注文データに連結させることができます。
- orderType: ご利用のOSに応じて"MOBILE"、"iOS"、"ANDROID"のいずれか。("MOBILE"は、OSがiOS、Androidいずれの場合も使用できます)
- forterMobileUID: アプリが、決済ページも含めて完全にネイティブなアプリの場合は、forterTokenCookieではなく、このフィールドにデータが挿入されるようにします。決済ページでWebviewを使用している場合は、Webview Integrationを参照してください。
- mobileAppVersion: ユーザーが使用しているアプリのバージョンが反映されるようにします。
API実行例
{
"orderId": "Example_android123",
"orderType": "ANDROID",
"timeSentToForter": 1415287568000,
"checkoutTime": 1415273168,
"connectionInformation": {
"customerIP": "177.58.61.102",
"userAgent": "v2023.5.2 (Debug), Android 9",
"forterTokenCookie": "2d43a0c77de616gggggafc6e5cd38b7b2581115e25"
},
"totalAmount": {
"amountUSD": "99.95"
}
...
}Step 7: 本番環境へのデプロイ 🚀
Forterの実装チームと協働して、ご利用のモバイル アプリでForterのSDKがシームレスに展開されるようにしてください。