トラブルシューティング
NetFUNNEL React Native Agent統合に関する一般的な問題、解決方法、よくある質問です。
インストールの問題
パッケージインストール失敗
症状:
npm installが失敗- パッケージが見つからない
解決方法:
- ネットワーク接続確認: インターネット接続状態を確認
- パッケージパス確認:
package.jsonの依存関係パスが正しいか確認 - npmキャッシュクリア:
npm cache clean --forceを実行して再試行
初期化失敗
症状:
- アプリ起動時にエラー発生
- NetFUNNELが初期化されない
解決方法:
- clientId確認:
clientIdが正しく設定されているか確認 - 空文字列確認:
clientIdが空文字列でないか確認 - 初期化位置:
App.jsまたはApp.tsxの開始部分で初期化しているか確認
関数呼び出しエラー
"nfStart is not a function"エラー
症状:
ReferenceError: nfStart is not defined- 関数が呼び出されたときに定義されていない
解決方法:
- 初期化確認:
Netfunnel.initialize()が最初に呼び出されたか確認 - import確認:
import Netfunnel from 'netfunnel-rn-agent'が正しいか確認 - 関数使用法:
Netfunnel.nfStart()形式で呼び出しているか確認
コールバックが実行されない
症状:
nfStartが呼び出されたがコールバックが実行されない- 応答を受信しない
解決方法:
- ネットワーク確認: NetFUNNELサーバーへのネットワークリクエストを確認
- コンソールログ:
printLog: trueに設定してデバッグログを確認 - セグメント状態: セグメントがBlock状態でないか確認
- Limited Inflow: Limited Inflowが進入を許可しているか確認
ネットワークおよび接続の問題
ネットワークタイムアウトエラー
症状:
NetworkErrorステータスコード1002- リクエストがタイムアウト
解決方法:
- タイムアウト増加:
networkTimeoutをより高い値に設定(最大10000ms) - 再試行構成:
retryCountを増加 - ネットワーク復旧:
useNetworkRecoveryMode: trueを有効化
Netfunnel.initialize({
clientId: 'your-client-id',
networkTimeout: 5000,
retryCount: 2,
useNetworkRecoveryMode: true
});
ネットワーク接続エラー
症状:
NetworkErrorステータスコード1001- インターネット接続なし
解決方法:
- 接続確認: インターネット接続状態を確認
- ファイアウォール: NetFUNNELドメインがブロックされていないか確認
- プロキシ設定: 必要に応じてプロキシを構成
- エラー処理: 適切なNetworkError処理を実装
function nfCallback(response) {
if (response.status === 'NetworkError') {
// ユーザーフレンドリーなメッセージを表示
Alert.alert('ネットワーク接続の問題', 'インターネット接続を確認してください。');
// オプションで再試行または継続
}
}
待機室の問題
待機室が表示されない
症状:
- 待機室が表示されない
- ユーザーが直接進行する
解決方法:
- Limited Inflow: テストのために0に設定
- セグメント有効化: セグメントが有効化されているか確認
- テンプレート設定:
useNetfunnelTemplate: trueを確認 - WebViewコンポーネント:
<Netfunnel.WebViewComponent />が正しく追加されているか確認
待機室が停止(終了しない)
症状:
- 待機室が表示されるが進入が許可されない
- 無限待機
解決方法:
- Limited Inflow: Limited Inflowの値を増加
- セグメント状態: セグメントがBlock状態か確認
- ネットワーク問題: ネットワーク接続状態を確認
- サーバー状態: NetFUNNELサーバー状態を確認
キー管理の問題
キーが返却されない
症状:
- 次のユーザーが無期限に待機
- キューが進行しない
解決方法:
- nfStop呼び出し: 常に
nfStop/nfStopSectionが呼び出されているか確認 - エラー処理: エラーシナリオでもキーを返却
- タイムアウト確認: セグメントタイムアウト設定を確認
try {
await performAction();
Netfunnel.nfStop(projectKey, segmentKey);
} catch (error) {
console.error('操作失敗: $error');
// エラー発生時にもキーを返却
Netfunnel.nfStop(projectKey, segmentKey);
}
デバッグのヒント
ログ確認
デバッグのためにprintLog: trueに設定してログを確認できます:
Netfunnel.initialize({
clientId: 'your-client-id',
printLog: true // デバッグログを有効化
});
コンソールで[NF4]プレフィックスを持つログを確認してください。
一般的な確認事項
- 初期化確認:
Netfunnel.initialize()が正しく呼び出されているか確認 - WebViewコンポーネント:
<Netfunnel.WebViewComponent />が正しい場所に追加されているか確認 - キー一致: 開始および終了関数で同じキーを使用しているか確認
- コールバック実装: 必須ステータス(Success、Error、NetworkError)が処理されているか確認
関連ドキュメント
- インストールと初期化: 詳細な設定ガイド
- APIリファレンス: 完全な関数仕様
- 初期化設定: すべての初期化パラメータ
- FAQ: よくある質問