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

クイックスタート

このクイックスタートガイドで5-10分でNetFUNNEL 4 Flutter Agentを始めましょう。

このガイドでできること

  • コードベース統合: ボタン/APIレベルで正確なタイミングでトラフィックを制御
統合方法の選択

統合方法を比較し、ユースケースに最も適したアプローチを見つけるには、統合方法概要を参照してください。


前提条件

  • NetFUNNELコンソールへのアクセス
  • Flutterプロジェクト
  • Dartの基本知識
サンプルプロジェクト

練習用の基本プロジェクトが必要ですか?サンプルプロジェクトを確認してください。


ステップ1: Client IDの取得

  1. NetFUNNELコンソールに移動
  2. 右上のプロフィールアイコンをクリック
  3. 統合資格情報(Integration Credentials)メニューを選択
  4. Client IDをコピー

ステップ2: インストールと初期化

パッケージのインストール

tar.gzファイルをプロジェクトルートまたは希望の場所にコピーした後、pubspec.yamlに依存関係を追加します:

dependencies:
netfunnel_flutter:
path: ./netfunnel_flutter-{{latest}} # tar.gzファイルをコピーしたパス

ターミナルで次のコマンドを実行します:

flutter pub get

ネットワーク権限の設定

Androidの場合、android/app/src/main/AndroidManifest.xmlにインターネット権限を追加します:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!-- インターネット権限設定 -->
<uses-permission android:name="android.permission.INTERNET" />
</manifest>

初期化

main.dartmain()関数の開始時点で初期化作業を実行します:

import 'package:netfunnel_flutter/netfunnel_flutter.dart';

void main() async {
// NetFUNNELエージェント初期化
await Netfunnel.instance.initialize(
clientId: 'your-client-id', // ステップ1で取得したClient ID
);
runApp(MyApp());
}

ステップ3: 統合方法の選択

基本制御

最適な用途: ボタンクリック、API呼び出し、単一ステップ操作

  1. コンソールでセグメントを作成:

    • ProjectsSegmentCreate Segmentに移動
    • Basic Controlを選択
    • 進入許可数0に設定(テスト用)
  2. コードに追加:

import 'package:netfunnel_flutter/netfunnel_flutter.dart';

class NetfunnelHandler extends NetfunnelCallback {
@override
void onSuccess(int statusCode, String message) {
// 進入またはバイパス応答を受信した場合
// 既存のサービスロジックを実行
}

@override
void onError(int statusCode, String message) {
// システムエラー発生時
// 一般的にonSuccessと同じように処理
}

@override
void onNetworkError(int statusCode, String message) {
// ネットワークエラー発生時
// 再試行または通知処理
}

@override
void onBlock(int statusCode, String message) {
// ユーザー進入がブロックされた場合の処理ロジック
}

@override
void onClose(int statusCode, String message) {
// ユーザーが待機をキャンセルした場合の処理ロジック
}
}

// ボタンクリック時
void handleButtonPress(BuildContext context) {
Netfunnel.instance.nfStart(
projectKey: '{{PROJECT_KEY}}', // コンソールから取得したプロジェクトキー
segmentKey: '{{SEGMENT_KEY}}', // コンソールから取得したセグメントキー
callback: NetfunnelHandler(),
context: context,
);
}

// アクション完了後のキー返却
void handleActionComplete() {
Netfunnel.instance.nfStop(
projectKey: '{{PROJECT_KEY}}',
segmentKey: '{{SEGMENT_KEY}}',
);
}

区間制御

最適な用途: 決済プロセス、多段階プロセス

  1. コンソールでセグメントを作成(基本制御と同じ)
  2. コードに追加:
// 区間開始
Netfunnel.instance.nfStartSection(
projectKey: '{{PROJECT_KEY}}',
segmentKey: '{{SEGMENT_KEY}}',
callback: NetfunnelHandler(),
context: context,
);

// 区間終了(プロセス全体が完了した時)
Netfunnel.instance.nfStopSection(
projectKey: '{{PROJECT_KEY}}',
segmentKey: '{{SEGMENT_KEY}}',
);

ステップ4: テスト

  1. 進入許可数を0に設定し、待機室が正しく表示されるか確認
  2. 進入許可数を1に設定(即座に進入する必要がある)
  3. Networkタブでキー返却を確認ts.wseq?opcode=5004 HTTP 200)

ヘルプが必要ですか?

  • トラブルシューティング: 一般的な問題と解決方法
  • FlutterコンソールでNetFUNNELログを確認(printLog: true設定)
  • コンソールのプロジェクト/セグメントキーが正確に一致しているか確認