クイックスタート
このクイックスタートガイドで5-10分でNetFUNNEL 4 Flutter Agentを始めましょう。
このガイドでできること
- コードベース統合: ボタン/APIレベルで正確なタイミングでトラフィックを制御
統合方法の選択
統合方法を比較し、ユースケースに最も適したアプローチを見つけるには、統合方法概要を参照してください。
前提条件
- NetFUNNELコンソールへのアクセス
- Flutterプロジェクト
- Dartの基本知識
サンプルプロジェクト
練習用の基本プロジェクトが必要ですか?サンプルプロジェクトを確認してください。
ステップ1: Client IDの取得
- NetFUNNELコンソールに移動
- 右上のプロフィールアイコンをクリック
統合資格情報(Integration Credentials)メニューを選択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.dartのmain()関数の開始時点で初期化作業を実行します:
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呼び出し、単一ステップ操作
-
コンソールでセグメントを作成:
Projects→Segment→Create Segmentに移動- Basic Controlを選択
進入許可数を0に設定(テスト用)
-
コードに追加:
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}}',
);
}
区間制御
最適な用途: 決済プロセス、多段階プロセス
- コンソールでセグメントを作成(基本制御と同じ)
- コードに追加:
// 区間開始
Netfunnel.instance.nfStartSection(
projectKey: '{{PROJECT_KEY}}',
segmentKey: '{{SEGMENT_KEY}}',
callback: NetfunnelHandler(),
context: context,
);
// 区間終了(プロセス全体が完了した時)
Netfunnel.instance.nfStopSection(
projectKey: '{{PROJECT_KEY}}',
segmentKey: '{{SEGMENT_KEY}}',
);
ステップ4: テスト
- 進入許可数を0に設定し、待機室が正しく表示されるか確認
- 進入許可数を1に設定(即座に進入する必要がある)
- Networkタブでキー返却を確認(
ts.wseq?opcode=5004HTTP 200)
ヘルプが必要ですか?
- トラブルシューティング: 一般的な問題と解決方法
- FlutterコンソールでNetFUNNELログを確認(
printLog: true設定) - コンソールのプロジェクト/セグメントキーが正確に一致しているか確認