不正検知モバイルSDK(iOS)
このガイドは、ネイティブ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リンクを追加します。
- またはPackage.swiftの依存関係のファイルを持っている場合は、依存関係の配列にSDKを直接追加することができます。
dependencies: [
.package(url: "<forter ios bitbucket link>.git", .upToNextMinor(from: "2.2.0"))
]CocoPods
- Podfileにuse_frameworks!フラグが含まれていることを確認します。
- 使用している他のフレームワークの隣で、PodfileにForterSDK Podを追加します。
pod 'ForterSDK', :git => <bit bucket forter ios link>.git'- pod install コマンドを実行する
Step 2: SDK起動 ✨
iOS Application DelegateからSDKを初期化します。これにより、アプリがアクティブになったときにSDKが正しくロードされます。アプリのデリゲートについての詳細は、Official iOS Developer Documentationを参照してください。
- SDKのインポート
Swift
import ForterSDKObjective-C
#import <ForterSDK/ForterSDK.h>- 適切な環境(本番環境、またはサンドボックス環境)のForter専用の管理画面に設定されているsiteIdを使用し、次のコマンドでSDKを開始します。
Swift
ForterSDK.setupWithSiteId("your_forter_site_id")Objective-C
[ForterSDK setupWithSiteId:@"your_forter_site_id"];- Application DelegateからCallbacksを追加します。
- Application Delegateからメッセージを受け取ると、iOS Applicationがアクティブになったときに特定のForter SDKメソッドをコールします。
- 🔥 必ず全てのAppDelegateコールバックをコールするようにしてください。 🔥
Step 3: 一意な識別子の指定 :person-with-pouting-face:
ForterのSDKでは、SDKで収集されるデータを特定のデバイスやユーザーへリンクするための、一意のモバイル デバイス識別子が必要です。 この識別子は、次の特性をもつようにします。
- 各デバイスに固有である
- ユーザーのアプリのセッション中に変化しない
- PII準拠である.
Forterは iOS IDFV (Identifier For Vendor)を使用することを推奨しています。mobileUIDを設定するには次のコマンドを使用します。
Swift
ForterSDK.sharedInstance().setDeviceUniqueIdentifier(UIDevice.current.identifierForVendor.uuidString)Objective-C
[[ForterSDK sharedInstance] setDeviceUniqueIdentifier:UIDevice.currentDevice.identifierForVendor.UUIDString];重要 取得した値("mobileUID")は、connectionInformation.forterMobileUIDキーの値として バックエンドのAPIリクエストで送信する必要があります。
ケーシング :Forterのシステムにはケーシング(大文字/小文字の区別)の規定はありませんが、SDKによって生成された mobileUIDは、取引でValidation APIに渡されるmobileUIDのケーシングと一致させる必要があります。これは、ForterのシステムがSDKデータをバックエンドのValidation APIのデータへ正しく連結できるようにするためです。
Step 4: イベントデータ送信 🏬
SDKをできるだけ軽量にするために、Forter SDKはデフォルトではイベントを収集しません。これらのイベントは、該当する画面およびアクションで都度コールする必要があります。たとえば、ユーザーがアプリで商品を検索した場合、 FTRSDKNavigationTypeSearchの値でナビゲーションイベントをコールする必要があります。
Forterには、イベントを送信するための2つのメソッドがあります。
- TrackNavigation 別の製品ページや検索結果へ移動するなど、コンテキストが変わるようなイベントを処理します。
[[ForterSDK sharedInstance] trackNavigation:@"SingleItemViewController" withType:FTRSDKNavigationTypeProduct];Step 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_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がシームレスに展開されるようにしてください。