---
title: 不正検知モバイルSDK(Android)
slug: japanese/fraud-android-sdk-jp
docTags: 
createdAt: 2025-07-02T14:58:36.475Z
---

このガイドは、ネイティブAndroidアプリ向けにForterのAndroid SDKをインストールするためのものです。SDKの連携を行うには、Forterの管理画面のアカウント、およびForterの一意の認証情報が必要になります。以下のステップで、連携のフローについて概説します。

### Step 1: SDKインストール

ForterのAndroid SDKを、ネイティブコード、またはAndroid Studioフレームワークにインストールすることができます。

### Gradleの依存関係をアップデート

- アプリケーションの`gradle`ファイルで、`repositories`ブロックに以下のリポジトリを追加します。

:::hint{type="info"}
**正確な認証情報をForterの管理画面で確認してください。 認証情報は機密情報ではありませんが、ボットや検索エンジンにキャッシングされないように非公開にしています。**

:::

```Text
maven {
    url "https://<forter-android-mobile-sdk-link>"
    credentials {
        username "<forter-user-name>"
        password "<forter-password>"
    }
}
```

### Forter SDKを依存関係として追加

アプリケーションの`gradle`ファイルで、`dependencies`ブロックにForter SDKの依存関係を追加します。

```csharp
implementation 'com.forter.mobile:fortersdk:[2.4,2.5)'
```

- リポジトリにリストされている最新バージョンが、最新の安定版であることに注意してください。

### Step 2: SDK起動 ✨

メインの**Application Context**で、ForterのAndroid SDKを初期化します。ご利用のアプ [Application Class](https://developer.android.com/reference/android/app/Application)を使用していない場合はこれを追加して、アプリの[Manifest](https://stackoverflow.com/questions/2929562/register-application-class-in-manifest)に登録してください。

アプリケーション クラスの`onCreate`メソッドに次の行を追加します。

```text
   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);

```

:::hint{type="info"}
**🔥&#x20;**&#xA;`getDeviceId`メソッドに渡す値には、現在のAndroid Device IDを使用することをお勧めします。これはPII準拠の安定した値であるためです。🔥
:::

### ライフサイクル コールバックの登録

Forter SDKを開始した後で、アプリケーション クラスの `onCreate`メソッドから、ビルトイン アクティビティのライフサイクル コールバックを登録します。

```c
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH)  
{  
    registerActivityLifecycleCallbacks(ftr.getActivityLifecycleCallbacks());  
}
```

### アプリケーションのアクティビティイベントの送信

SDKを開始してアクティビティライフサイクルのコールバックを登録したら、 `trackAction`イベントをコールして、Forterのサーバーに最初のトラックを送信します。正確な方法については、管理画面のドキュメントで確認してください。

```text
forter.trackAction(TrackType.APP_ACTIVE); // for sending 'app Active' event
```

### `onCreate` メソッドの再確認

```coffeescript
@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);
}

```

:::hint{type="info"}
**適切な環境のForterの専用管理画面に設定されているsiteIdを使用していることを確認してください。**

:::

### Step 3: 一意な識別子の指定 \:person-with-pouting-face:

ForterのSDKでは、SDKで収集されるデータを特定のデバイスやユーザーへリンクするための、一意のモバイル デバイス識別子が必要です。 この識別子は、次の特性をもつようにします。

1. 各デバイスに固有である
2. ユーザーのアプリのセッション中に変化しない
3. PII準拠である.

Forterは**ANDROID\_ID**を使用することを推奨しています。mobileUIDを設定するには次のコマンドを使用します。

```text
ForterIntegrationUtils.getDeviceUID(this)
```

Androidの正式なベストプラクティスについては、[こちら](https://developer.android.com/training/articles/user-data-ids#best-practices-android-identifiers)を参照してください。

**重要** DeviceIUIDとして取得した値（"mobileUID"）は、`connectionInformation.forterMobileUID`キーの値として [バックエンドのAPIリクエスト](#)で送信する必要があります。

:::hint{type="info"}
**ケーシング**
：Forterのシステムにはケーシング（大文字/小文字の区別）の規定はありませんが、SDKによって生成された `mobileUID`は、取引でValidation APIに渡されるmobileUIDのケーシングと一致させる必要があります。これは、ForterのシステムがSDKデータをバックエンドのValidation APIのデータへ正しく連結できるようにするためです。
:::

### Step 4: イベントデータ送信 🏬

SDKをできるだけ軽量にするために、Forter SDKはデフォルトではイベントを収集しません。これらのイベントは、該当する画面およびアクションで都度コールする必要があります。たとえば、ユーザーがアプリで商品を検索した場合、 `FTRSDKNavigationTypeSearch`の値でナビゲーションイベントをコールする必要があります。

Forterには、イベントを送信するための2つのメソッドがあります。

1. **TrackAction**
   &#x20;\- ユーザーが実行するアクション（カートからアイテムを削除する、アイテムをカートに追加する、アカウントにログインする、支払いを開始する、など）を処理します。このメソッドに含まれるデータでは、StringまたはDictionaryのタイプを使用できます。

   ```objectivec
   ForterSDK.getInstance().trackAction(TrackType.ADD_TO_CART, item_id); //  add to cart event syntax
   ```
2. **TrackNavigation** - 別の製品ページや検索結果へ移動するなど、コンテキストが変わるようなイベントを処理します。

```objectivec
ForterSDK.getInstance().trackNavigation(TrackType.NavigationTypeCheckout); // nav to checkout
```

### Step 5: モバイル イベントのテスト/表示 📈

（サンドボックス環境のSiteIdを使用して）サンドボックス環境でモバイルSDKを連携すると、Sandbox Mobile Events Viewerを使用して、Forterに渡されるイベントの特定のmobileUIDを調べることができます。これにより開発者は、Forterがモバイル イベントをどのように受け取り、保存しているかを可視化することができます。

![](https://files.readme.io/6bcae32-Screen_Shot_2023-04-06_at_3.06.34_PM.png)

### Step 6: バックエンドおよびForter APIリクエストにmobileUIDを含める

ネイティブのモバイルアプリケーションで注文が行われたときにForter SDKで生成されたmobileUIDを、バックエンドに送信します。これによりForterは、モバイル アプリケーションで収集された行動やネットワークに関するデータを、バックエンドから送信された注文データに連結させることができます。

1. **orderType**: ご利用のOSに応じて`"MOBILE"`、`"iOS"`、`"ANDROID"`のいずれか。（`"MOBILE"`は、OSがiOS、Androidいずれの場合も使用できます）
2. **forterMobileUID**: アプリが、決済ページも含めて完全にネイティブなアプリの場合は、`forterTokenCookie`ではなく、このフィールドにデータが挿入されるようにします。決済ページでWebviewを使用している場合は、[Webview Integration](https://docs.forter.com/docs/fraud-webview-integrations-jp)を参照してください。
3. **mobileAppVersion**: ユーザーが使用しているアプリのバージョンが反映されるようにします。

**API実行例**

```javascript
{
  "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がシームレスに展開されるようにしてください。
