統合方法概要
NetFUNNEL iOSエージェントは、iOSアプリケーションでトラフィック制御を適用するためのコードベース統合をサポートしています。Webエージェントとは異なり、モバイルネイティブエージェントはコードベース統合のみをサポートし、これはキー管理方式に応じて2つの制御タイプに分かれます:
- コードベース統合 - 基本コントロール: 進入速度制御 (キーを迅速に返却)
- コードベース統合 - 区間コントロール: 固定された同時ユーザー数を維持 (区間終了までキーを保持)
📄️ 基本コントロール統合
コードベース統合を使用してNetFUNNEL iOSエージェントで基本コントロールを実装する完全なガイドです。
📄️ 区間コントロール統合
コードベース統合を使用してNetFUNNEL iOSエージェントで区間コントロールを実装する完全なガイドです。
コードベース統合
機能:
- iOSコードでNetFUNNEL関数を呼び出してトラフィック制御を適用
- 待合室を適用するタイミングと場所を完全に制御可能
- アプリフローの特定のポイントで関数を呼び出し
ユーザー体験 (UX):
- 待合室が必要なときにネイティブ待合室UIが表示される
- ユーザーは進入が許可されるまでアプリで待機
- アプリのデザインおよびフローとのシームレスな統合
特徴:
- トラフィック制御タイミングに対する正確な制御
- ネイティブモバイルUI体験
- モバイルアプリおよび複雑なユーザーフローに最適
制御タイプ間の主な違い:
- 基本コントロール (コードベース統合): 進入速度制御 (キーを迅速に返却)
- 区間コントロール (コードベース統合): 固定された同時ユーザー数を維持 (区間終了までキーを保持)
制御タイプ
コードベース統合は、2つの制御タイプにさらに細分化されます:
| 制御タイプ | 目的 | 最適なユースケース | キー管理 |
|---|---|---|---|
| 基本コントロール統合 | 進入速度制御 | ボタンクリック、API呼び出し、ビューコントローラー進入 | 作業完了後キーを迅速に返却 |
| 区間コントロール統合 | 同時ユーザー数を維持 | マルチステッププロセス、チェックアウトフロー | 区間終了までキーを保持 (全体プロセス完了) |
制御タイプの比較
コードベース統合 - 基本コントロール
機能:
- ユーザーがサービスに進入できる速度を制御
- 各ユーザーが作業を開始するときにキーを受け取る
- 作業が完了するとキーを迅速に返却
- 前のユーザーがキーを返却した後にのみ次のユーザーが進入できる
キー管理: 特定の作業が完了すると即座にキーを返却します (例: ビューコントローラーロード、API呼び出し完了)。
ユースケース:
- ボタンクリック速度制限
- API呼び出しスロットリング
- ログイン試行制御
- ビューコントローラー進入保護
例のフロー:
コードベース統合 - 区間コントロール
機能:
- 特定の区間で固定された数の同時ユーザーを維持
- ユーザーはスロットが利用可能になるまでキューで待機
- ユーザーが全体の区間を完了するまでキーを保持
- 現在のユーザーが区間を終了するときにのみ次のユーザーが進入
キー管理: 全体のマルチステッププロセス中にキーを保持し、全体の区間/プロセスが完了したときにのみ返却します (例: チェックアウト完了、決済処理完了)。
ユースケース:
- チェックアウトプロセス制御
- 決済フロー管理
- マルチステップフォーム完了
- リソース集約的な作業
例のフロー:
決定マトリックス
| 要件 | 推奨制御タイプ | キー管理戦略 |
|---|---|---|
| "ユーザーがボタンをタップする速度を制限したい" | 基本コントロール (コードベース統合) | 迅速なキー返却 - 個別作業保護 |
| "同時にチェックアウトできるユーザー数を制限したい" | 区間コントロール (コードベース統合) | チェックアウト完了までキーを保持 - 同時ユーザー数制御 |
| "ログイン画面を保護したい" | 基本コントロール (コードベース統合) | 迅速なキー返却 - シンプルな進入保護 |
| "マルチステッププロセスを制御したい" | 区間コントロール (コードベース統合) | プロセス完了までキーを保持 - 占有維持 |
| "API呼び出しをスロットリングしたい" | 基本コントロール (コードベース統合) | 迅速なキー返却 - 呼び出しごとの速度制限 |
| "決済処理を制御したい" | 区間コントロール (コードベース統合) | 決済完了までキーを保持 - リソース管理 |
実装の複雑さ
コードベース統合 - 基本コントロール
- 設定: シンプル
- コード: 最小限
- メンテナンス: 低
- キー管理: シンプル (迅速な返却)
- 最適なユースケース: 迅速な実装、シンプルなユースケース
コードベース統合 - 区間コントロール
- 設定: 通常
- コード: より複雑
- メンテナンス: 中程度
- キー管理: 複雑 (完了まで保持)
- 最適なユースケース: 複雑なワークフロー、リソース管理
両方の制御タイプを使用できますか?
はい! 同じアプリケーションで両方の制御タイプを使用できます:
- Swift
- Objective-C
// ログインのための基本コントロール
func handleLogin() {
Netfunnel.shared.nfStart(projectKey: "login_project", segmentKey: "login_segment")
}
// チェックアウトのための区間コントロール
func startCheckout() {
Netfunnel.shared.nfStartSection(projectKey: "checkout_project", segmentKey: "checkout_segment")
}
// ログインのための基本コントロール
- (void)handleLogin {
[[Netfunnel shared] nfStartWithProjectKey:@"login_project" segmentKey:@"login_segment"];
}
// チェックアウトのための区間コントロール
- (void)startCheckout {
[[Netfunnel shared] nfStartSectionWithProjectKey:@"checkout_project" segmentKey:@"checkout_segment"];
}
一般的なパターン:
- 進入ポイント(ログイン、主要機能)には基本コントロール (コードベース統合)を使用 - アクティビティロード後迅速なキー返却
- 重要なプロセス(チェックアウト、決済)には**区間コントロール (コードベース統合)**を使用 - 全体プロセス完了までキーを保持
練習プロジェクト提供
練習用の基本プロジェクトが必要ですか? NetFUNNEL SDK統合の練習のための**iOSアプリケーション (Single ViewController)**テンプレートを含むサンプルプロジェクトを確認してください。