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

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

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

ForterのiOS SDKは、Swift Package ManagerおよびCocoaPodsで配布されています。

### Swift Package Manager

- Project Navigatorで`Package Dependencies`タブに移動し、`+`ボタンをクリックしてForterのbitbucketリンクを追加します。

:::Iframe{code="<Image align=&#x22;center&#x22; width=&#x22;700px&#x22; src=&#x22;https://files.readme.io/ae98fb2-packagedep.png&#x22; />"}

:::

- または`Package.swift`の依存関係のファイルを持っている場合は、依存関係の配列にSDKを直接追加することができます。

```swift
dependencies: [
    .package(url: "<forter ios bitbucket link>.git", .upToNextMinor(from: "2.2.0"))
]
```

### CocoPods

- Podfileに`use_frameworks!`フラグが含まれていることを確認します。
- 使用している他のフレームワークの隣で、PodfileにForterSDK Podを追加します。

```csharp
pod 'ForterSDK', :git => <bit bucket forter ios link>.git'
```

- `pod install` コマンドを実行する

### Step 2: SDK起動 ✨

iOS Application DelegateからSDKを初期化します。これにより、アプリがアクティブになったときにSDKが正しくロードされます。アプリのデリゲートについての詳細は、[Official iOS Developer Documentation](https://developer.apple.com/documentation/uikit/uiapplicationdelegate)を参照してください。

1. SDKのインポート

**Swift**

```Text
import ForterSDK
```

**Objective-C**

```objectivec
#import <ForterSDK/ForterSDK.h>
```

1. 適切な環境（本番環境、またはサンドボックス環境）のForter専用の管理画面に設定されているsiteIdを使用し、次のコマンドでSDKを開始します。

**Swift**

```Text
ForterSDK.setupWithSiteId("your_forter_site_id")
```

**Objective-C**

```objectivec
[ForterSDK setupWithSiteId:@"your_forter_site_id"];
```

1. Application DelegateからCallbacksを追加します。

- Application Delegateからメッセージを受け取ると、iOS Applicationがアクティブになったときに特定のForter SDKメソッドをコールします。
- 🔥 必ず**全て**のAppDelegateコールバックをコールするようにしてください。 🔥

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

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

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

Forterは **iOS IDFV (Identifier For Vendor)**&#x3092;使用することを推奨しています。mobileUIDを設定するには次のコマンドを使用します。

**Swift**

```Text
ForterSDK.sharedInstance().setDeviceUniqueIdentifier(UIDevice.current.identifierForVendor.uuidString)
```

**Objective-C**

```objectivec
[[ForterSDK sharedInstance] setDeviceUniqueIdentifier:UIDevice.currentDevice.identifierForVendor.UUIDString];
```

**重要** 取得した値（"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 sharedInstance] trackAction:FTRSDKActionTypeAddToCart
               withMessage:@"yellow bb shirt-xL"];// item id in your system
   ```
2. **TrackNavigation** 別の製品ページや検索結果へ移動するなど、コンテキストが変わるようなイベントを処理します。

```objectivec
[[ForterSDK sharedInstance] trackNavigation:@"SingleItemViewController" withType:FTRSDKNavigationTypeProduct];
```

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

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

![](https://files.readme.io/43d8f4c-Screen_Shot_2023-03-29_at_3.20.47_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_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", 
    "mobileAppVersion": "18.4.1"
  },
  "totalAmount": {
    "amountUSD": "99.95"
  }
  ...
}
```

### Step 7: 本番環境へのデプロイ 🚀

Forterの実装チームと協働して、ご利用のモバイル アプリでForterのSDKがシームレスに展開されるようにしてください。
