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

APIリファレンス

NetFUNNEL React Native Agentの関数、コールバック、レスポンス形式の完全なリファレンスです。


基本制御関数

基本制御は、サービスへの進入速度を制限します。開始関数が呼び出されるとキーが発行され、待機室が表示されます。終了関数が呼び出されるとキーが返却されます。

Netfunnel.nfStart

目的: 操作開始時にキーを発行し、待機室を表示します。

関数シグネチャ:

Netfunnel.nfStart(projectKey, segmentKey, callback)

パラメータ:

パラメータ説明
projectKeyStringコンソールの基本制御プロジェクトキー
segmentKeyStringコンソールの基本制御セグメントキー
callbackFunction待機室イベント処理のためのカスタムコールバック関数

戻り値: undefined

例:

Netfunnel.nfStart("{{PROJECT_KEY}}", "{{SEGMENT_KEY}}", function(response) {
// レスポンス処理 - コールバック関数セクションを参照
nfCallback(response);
});

コールバック処理: 詳細なレスポンス処理については、コールバック関数セクションを参照してください。

Netfunnel.nfStop

目的: 進入が完了した後、キーを返却します。

関数シグネチャ:

Netfunnel.nfStop(projectKey, segmentKey)

パラメータ:

パラメータ説明
projectKeyStringコンソールの基本制御プロジェクトキー
segmentKeyStringコンソールの基本制御セグメントキー

戻り値: undefined

例:

Netfunnel.nfStop("{{PROJECT_KEY}}", "{{SEGMENT_KEY}}");
自動返却タイムアウト

終了関数を実行しない場合、セグメントタイムアウト設定に従ってキーが自動的に返却されます(デフォルトタイムアウト: 20秒)。


区間制御関数

区間制御は、特定のアプリケーション区間内の同時ユーザー数を固定値で維持します。開始関数が呼び出されるとキーが発行されます。終了関数が呼び出されるまで、ユーザーはアクティブ区間にいると見なされ、キュー内の次のユーザーは許可されません。

Netfunnel.nfStartSection

目的: 区間制御のためのキーを発行し、待機室を表示します。

関数シグネチャ:

Netfunnel.nfStartSection(projectKey, segmentKey, callback)

パラメータ:

パラメータ説明
projectKeyStringコンソールの区間制御プロジェクトキー
segmentKeyStringコンソールの区間制御セグメントキー
callbackFunction待機室イベント処理のためのカスタムコールバック関数

戻り値: undefined

例:

Netfunnel.nfStartSection("{{PROJECT_KEY}}", "{{SEGMENT_KEY}}", function(response) {
// レスポンス処理 - コールバック関数セクションを参照
nfCallback(response);
});

コールバック処理: 詳細なレスポンス処理については、コールバック関数セクションを参照してください。

Netfunnel.nfStopSection

目的: ユーザーがアクティブ区間を終了する際にキーを返却します。

関数シグネチャ:

Netfunnel.nfStopSection(projectKey, segmentKey)

パラメータ:

パラメータ説明
projectKeyStringコンソールの区間制御プロジェクトキー
segmentKeyStringコンソールの区間制御セグメントキー

戻り値: undefined

例:

Netfunnel.nfStopSection("{{PROJECT_KEY}}", "{{SEGMENT_KEY}}");
区間制御の動作

停止関数を実行しない場合、ユーザーはアクティブ区間に残っていると見なされ、次のユーザーの許可が遅延する可能性があります。


コールバック関数

基本/区間制御開始関数のコールバック関数(第3パラメータ)でNetFUNNELサーバーからのレスポンスを受信できます。レスポンス結果に応じてさまざまな処理ロジックを実行できます。

必須ステータス処理

次の3つのステータスを必ず対応する必要があります:

  • Success: 進入許可またはバイパスモード
  • Error: システムエラー発生
  • NetworkError: ネットワーク接続の問題
注記

Success、Error、NetworkError以外のステータス値は処理しなくてもサービスに影響はありません。

サンプルコールバック実装

function nfCallback(response) {
const { status, statusCode, message } = response;
switch(status) {
case 'Success':
// 進入またはバイパス応答を受信した場合、NetFUNNELを適用する前の既存のサービスロジックを実行します。
// ex - ページ移動、関数実行、APIリクエスト
break;
case 'Error':
// システムエラーが発生した場合、スムーズなサービス利用のために一般的にSuccessと同じように既存のサービスロジックを実行します。
// ex - ページ移動、関数実行、APIリクエスト
break;
case 'NetworkError':
// ネットワークエラーが発生した場合、既存のサービスロジックを実行するか、通知後に再度キューに進入するようにします。
// ex - ページ移動、関数実行、APIリクエスト、modal("ネットワークが不安定です。再試行しますか? Y/N");
break;
case 'Block':
// 進入状態がブロックの場合、ブロックを通知するか、何も処理しなくても構いません。
break;
case 'IpBlock':
// 繰り返しリクエストによりブロックされた場合、ブロックを通知するか、何も処理しなくても構いません。
break;
case 'Close':
// 待機室の閉じるまたはキャンセルボタンをクリックした場合、待機キャンセルを通知するか、何も処理しなくても構いません。
// ex - alert("待機をキャンセルしました。");
break;
default:
console.log(`[NF] status: ${status}, code: ${statusCode}, message: ${message}`);
}
}

レスポンスオブジェクトスキーマ

コールバックに渡されるresponseオブジェクトには、次のフィールドが含まれます:

フィールド例 / 説明
statusStringSuccess / Error / NetworkError / Block / IpBlock / Close
statusCodeNumber200, 201, 300, 303, 500, 1001, 1002, 301, 302, 49xなど
messageStringSuccessBypassExpressServer ErrorNetwork Timeoutなど
keyString発行された進入キー(ID)

例レスポンスオブジェクト:

// 成功レスポンス
{
status: "Success",
statusCode: 200,
message: "Success",
key: "key_12345"
}

// バイパスレスポンス
{
status: "Success",
statusCode: 300,
message: "Bypass",
key: "key_12345"
}

// ネットワークエラーレスポンス
{
status: "NetworkError",
statusCode: 1002,
message: "Network Timeout",
key: "key_12345"
}

ステータスコードリファレンス

すべての可能なステータスコードとその意味の完全なリファレンスです。

statusstatusCodemessage説明
Success200Successキューを正常に通過してサービスに進入
300Bypassサブスクリプション/ライセンスの期限切れ
プロジェクト/セグメントの無効化
data-nf-error-bypass=trueに設定
303Express進入成功時の動作
Error500Server Error存在しないプロジェクト/セグメントキーを使用
待機中にセグメント削除
サーバーエラーによるレスポンス欠落
NetworkError1002Network Timeoutネットワーク遅延
無効な待機室HTMLアドレス
NetFUNNELサーバーダウン
Block301Blockセグメントブロック
IpBlock302Macro Blockブラックリスト
BotManager Basic有効化
Close499Canceled Waiting Roomデフォルト待機室のキャンセルボタンクリック
498Closed Blocking Roomブロック室の閉じるボタンクリック
497Closed Macro Blocking Roomマクロブロック室の閉じるボタンクリック
496Closed PreWaiting Room事前待機室の閉じるボタンクリック
495Closed PostWaiting Room事後待機室の閉じるボタンクリック

ベストプラクティス

集中型構成

// キーを1箇所に保存
const NETFUNNEL_CONFIG = {
projectKey: 'service_1',
segmentKey: 'segKey_8612'
};

// すべての場所で同じ構成を使用
Netfunnel.nfStart(
NETFUNNEL_CONFIG.projectKey,
NETFUNNEL_CONFIG.segmentKey,
callback
);

Netfunnel.nfStop(
NETFUNNEL_CONFIG.projectKey,
NETFUNNEL_CONFIG.segmentKey
);

完全なエラー処理

function handleNetFunnelResponse(response, businessLogic) {
switch (response.status) {
case 'Success':
businessLogic(); // ロジック進行
break;
case 'Error':
// システムエラー - サービス実行を維持するために継続
console.error('NetFUNNELシステムエラー:', response.message);
businessLogic();
break;
case 'NetworkError':
// ネットワーク問題 - 継続または再試行
console.log(`NetFUNNELネットワークエラー: ${response.message}`);
businessLogic(); // 継続または再試行ロジック実装
break;
case 'Block':
Alert.alert('サービス利用不可', 'このサービスは一時的に利用できません。');
break;
case 'IpBlock':
Alert.alert('アクセス拒否', 'この問題が続く場合は、サポートチームにお問い合わせください。');
break;
case 'Close':
// ユーザーがキャンセル - アクション不要
break;
}
}

キー返却

// 成功した操作後にキーを返却
try {
await performAction();
Netfunnel.nfStop(projectKey, segmentKey);
} catch (error) {
console.error('操作失敗:', error);
// エラー発生時にもキーを返却
Netfunnel.nfStop(projectKey, segmentKey);
}

関連ドキュメント