メインコンテンツまでスキップ
バージョン: 4.6.1

統合方法概要

NetFUNNEL iOSエージェントは、iOSアプリケーションでトラフィック制御を適用するためのコードベース統合をサポートしています。Webエージェントとは異なり、モバイルネイティブエージェントはコードベース統合のみをサポートし、これはキー管理方式に応じて2つの制御タイプに分かれます:

  • コードベース統合 - 基本コントロール: 進入速度制御 (キーを迅速に返却)
  • コードベース統合 - 区間コントロール: 固定された同時ユーザー数を維持 (区間終了までキーを保持)

コードベース統合

機能:

  • iOSコードでNetFUNNEL関数を呼び出してトラフィック制御を適用
  • 待合室を適用するタイミングと場所を完全に制御可能
  • アプリフローの特定のポイントで関数を呼び出し

ユーザー体験 (UX):

  • 待合室が必要なときにネイティブ待合室UIが表示される
  • ユーザーは進入が許可されるまでアプリで待機
  • アプリのデザインおよびフローとのシームレスな統合

特徴:

  • トラフィック制御タイミングに対する正確な制御
  • ネイティブモバイルUI体験
  • モバイルアプリおよび複雑なユーザーフローに最適

制御タイプ間の主な違い:

  • 基本コントロール (コードベース統合): 進入速度制御 (キーを迅速に返却)
  • 区間コントロール (コードベース統合): 固定された同時ユーザー数を維持 (区間終了までキーを保持)

制御タイプ

コードベース統合は、2つの制御タイプにさらに細分化されます:

制御タイプ目的最適なユースケースキー管理
基本コントロール統合進入速度制御ボタンクリック、API呼び出し、ビューコントローラー進入作業完了後キーを迅速に返却
区間コントロール統合同時ユーザー数を維持マルチステッププロセス、チェックアウトフロー区間終了までキーを保持 (全体プロセス完了)

制御タイプの比較

コードベース統合 - 基本コントロール

機能:

  • ユーザーがサービスに進入できる速度を制御
  • 各ユーザーが作業を開始するときにキーを受け取る
  • 作業が完了するとキーを迅速に返却
  • 前のユーザーがキーを返却した後にのみ次のユーザーが進入できる

キー管理: 特定の作業が完了すると即座にキーを返却します (例: ビューコントローラーロード、API呼び出し完了)。

ユースケース:

  • ボタンクリック速度制限
  • API呼び出しスロットリング
  • ログイン試行制御
  • ビューコントローラー進入保護

例のフロー:

コードベース統合 - 区間コントロール

機能:

  • 特定の区間で固定された数の同時ユーザーを維持
  • ユーザーはスロットが利用可能になるまでキューで待機
  • ユーザーが全体の区間を完了するまでキーを保持
  • 現在のユーザーが区間を終了するときにのみ次のユーザーが進入

キー管理: 全体のマルチステッププロセス中にキーを保持し、全体の区間/プロセスが完了したときにのみ返却します (例: チェックアウト完了、決済処理完了)。

ユースケース:

  • チェックアウトプロセス制御
  • 決済フロー管理
  • マルチステップフォーム完了
  • リソース集約的な作業

例のフロー:


決定マトリックス

要件推奨制御タイプキー管理戦略
"ユーザーがボタンをタップする速度を制限したい"基本コントロール (コードベース統合)迅速なキー返却 - 個別作業保護
"同時にチェックアウトできるユーザー数を制限したい"区間コントロール (コードベース統合)チェックアウト完了までキーを保持 - 同時ユーザー数制御
"ログイン画面を保護したい"基本コントロール (コードベース統合)迅速なキー返却 - シンプルな進入保護
"マルチステッププロセスを制御したい"区間コントロール (コードベース統合)プロセス完了までキーを保持 - 占有維持
"API呼び出しをスロットリングしたい"基本コントロール (コードベース統合)迅速なキー返却 - 呼び出しごとの速度制限
"決済処理を制御したい"区間コントロール (コードベース統合)決済完了までキーを保持 - リソース管理

実装の複雑さ

コードベース統合 - 基本コントロール

  • 設定: シンプル
  • コード: 最小限
  • メンテナンス: 低
  • キー管理: シンプル (迅速な返却)
  • 最適なユースケース: 迅速な実装、シンプルなユースケース

コードベース統合 - 区間コントロール

  • 設定: 通常
  • コード: より複雑
  • メンテナンス: 中程度
  • キー管理: 複雑 (完了まで保持)
  • 最適なユースケース: 複雑なワークフロー、リソース管理

両方の制御タイプを使用できますか?

はい! 同じアプリケーションで両方の制御タイプを使用できます:

// ログインのための基本コントロール
func handleLogin() {
Netfunnel.shared.nfStart(projectKey: "login_project", segmentKey: "login_segment")
}

// チェックアウトのための区間コントロール
func startCheckout() {
Netfunnel.shared.nfStartSection(projectKey: "checkout_project", segmentKey: "checkout_segment")
}

一般的なパターン:

  • 進入ポイント(ログイン、主要機能)には基本コントロール (コードベース統合)を使用 - アクティビティロード後迅速なキー返却
  • 重要なプロセス(チェックアウト、決済)には**区間コントロール (コードベース統合)**を使用 - 全体プロセス完了までキーを保持

練習プロジェクト提供

練習用の基本プロジェクトが必要ですか? NetFUNNEL SDK統合の練習のための**iOSアプリケーション (Single ViewController)**テンプレートを含むサンプルプロジェクトを確認してください。