---
title: forterMobileUID
slug: fortermobileuid
createdAt: 2025-07-28T23:08:28.157Z
---

# iOS ユニーク識別子

## Forterはなぜユニーク識別子が必要なのか？

### SDK内で

ForterのSDKは、SDKによって収集された活動および行動データを特定のデバイスとユーザーに接続するために、ユニークなモバイルデバイス識別子を必要とします。この識別子はiOSデバイスに特有である必要があります。

### Order API内で

顧客がモバイルアプリから購入を行う場合、ユニーク識別子は**必須**として、`forterMobileUID`の値を`connectionInformation`オブジェクトに含める必要があります。[Order API](https://docs.forter.com/reference/order-v3)。Order APIの呼び出しは完全にシステムのバックエンドから行われるため、このIDはHTTPSリクエストヘッダーから取得可能であり、Forter SDKで生成された値と**同じケース**である必要があります。

ネイティブモバイルアプリの注文の場合、以下のフィールドが入力されていることを確認してください:

1. **orderType**: "MOBILE", "iOS", または "ANDROID" あなたのOSに応じて（モバイルはどちらのOSでも使用できます）
2. **forterMobileUID**: あなたのアプリが完全にネイティブである場合、チェックアウトページを含めて、代わりに入力されるべきです`forterTokenCookie`
3. **mobileAppVersion**: ユーザーが使用しているアプリのバージョンを反映するべきです

```json
{
  "orderId": "Example_order_fdse0rr489",
  "orderType": "iOS",
  "timeSentToForter": 1415287568000,
  "checkoutTime": 1415273168,
  "connectionInformation": {
    "customerIP": "107.57.208.5",
    "userAgent": "testStore 18.4.1 rv:184100001 (iPhone; iOS 12.4.1; en_US; iPhone10,3)",
    "forterMobileUID": "6A9798AG16FF41F7B6B9878DD488ADD5_c2Vzc2lvbnRva2VuaGVyZQ==_CF4_ES4", 
    "mobileAppVersion": "18.4.1"
  },
  "totalAmount": {
    "amountUSD": "99.95"
  }
  ...
}
```

**SDKバージョン3.0.0以上の場合:**

- 返される値は、[Forterトークンリスナー](https://docs.forter.com/mobile-sdks/ios-application-delegate#s0qvr)コールバックは、サーバーサイドのOrder APIの`connectionInformation`オブジェクト内の`forterMobileUID`として使用されるべきです。

**SDKバージョン3.0.0以前の場合:**

- ForterSDKの `setDeviceUniqueIdentifier` メソッドに渡される値は、サーバーサイドのOrder APIの `connectionInformation` オブジェクト内の `forterMobileUID` として使用されるべきです。

### ケース

SDKに渡されるdeviceId（MobileUID）がOrder APIに渡される際にケースが変わらないことを確認してください。Forterのシステムにはケースの好みはありませんが、SDKを介して生成されたmobileUIDは、トランザクション時にOrder APIに渡されるmobileUIDのケースと一致する必要があります。そうしないと、ForterのシステムはSDKデータをバックエンドのOrder APIデータに正しく接続できません。SDKとバックエンドAPIの間でデータが一貫していることを確認するために、`toUpperCase()` または `toLowerCase()` のような関連するロジックやメソッドを含めてください。

## アカウント識別子を提供する（推奨）

アプリが別のアカウント識別子やソーシャルネットワークコネクタ/サードパーティ認証メカニズムを利用している場合は、それらのサードパーティサービスから受け取ったアカウントIDを提供してください。

**注意** アカウント識別子はOrder APIの `merchantDeviceId` フィールドに渡されるべきであり、**NOT** forterMobileUIDフィールドには渡されるべきではありません。

**例えば：**
Facebookソーシャルコネクタを使用している場合、次のようにアカウントIDを提供できます:

```objc
[[ForterSDK sharedInstance] setAccountIdentifier:@"the FB account id"
      withType:FTRSDKAccountIdTypeFacebook];
```

現在のモバイルアプリで使用されている既存のアカウント識別子を渡すには、次のようにします。

```objc
[[ForterSDK sharedInstance] setAccountIdentifier:@"The user's account ID" 
      withType:FTRSDKAccountIdTypeMerchant];
```

:::hint{type="danger"}
**個人を特定できる情報（PII）を識別子として提供しないでください。[個人を特定できる情報（PII）](https://en.wikipedia.org/wiki/Personally_identifiable_information)を識別子として提供しないでください。**&#x30E6;ーザーのメールアドレスをIDとして使用する場合は、送信する前にエンコード/ハッシュしてください。
:::
