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