Nativebrik
Log in
  • はじめに
    • Nativebrikのメリット
    • 実現できるソリューション
    • SDKのインストール
      • iOS
      • Android
      • Flutter
    • クイックスタート
      • アカウントの発行
      • モーダルを表示する
      • アプリ内埋め込みを作成する
      • 🚧施策の効果を振り返る
      • 🚧ABテストを行う
  • リファレンス(開発者向け)
    • iOS
      • NativebrikClient
      • NativebrikProvider
      • NativebrikUser
      • NativebrikExperiment
      • RemoteConfigVariant
      • Phases
      • Events
    • Android
      • NativebrikClient
      • NativebrikProvider
      • NativebrikExperiment
    • Flutter
      • NativebrikBridge
      • NativebrikDispatcher
      • NativebrikProvider
      • NativebrikEmbedding
      • NativebrikRemoteConfig
      • NativebrikUser
      • NativebrikCrashReport
  • トラブルシューティング
Powered by GitBook
On this page
  • インターフェース
  • .dispatch
  • 詳細な使用例
  1. リファレンス(開発者向け)
  2. Flutter

NativebrikDispatcher

インターフェース

class NativebrikDispatcher {
  Future<void> dispatch(NativebrikEvent event)
}

.dispatch

dispatch関数は、アプリ内のさまざまなイベントを定義するために使用できます。これにより、イベントデータがNativebrikサーバーに送信され、Nativebrikプラットフォームにおいて様々な用途で活用することができます。

この関数を使用することで、特定のエクスペリメントを表示させるトリガーを設定できたり、アプリ内でのユーザーのアクションやイベントをトラッキングし、アプリのパフォーマンスやユーザーの行動分析を行うことが可能になります。

具体的なユースケース

  • アプリ内でモーダルを表示させるトリガーとして使用。例えば、特定のボタンがクリックされた際や、特定のページを閲覧した際にモーダルを表示するなど。

  • アプリ内でのKPIを評価するために使用。特定の機能がユーザーによってどれくらい利用されているかや、特定のUIをどれだけタップしているかを計測するなど。

イベントを送信する際のコード例

import 'package:nativebrik_bridge/dispatcher.dart';

await NativebrikDispatcher().dispatch(NativebrikEvent("<CUSTOM_EVENT_NAME>"))

詳細な使用例

アプリのXX機能を利用しているユーザーをトラッキング

import 'package:nativebrik_bridge/dispatcher.dart';

Button(
  child: const Text('Press me!')
  onPressed: () {
    NativebrikDispatcher().dispatch(NativebrikEvent('PRESS_XX_FEATURE'))
  }
)

アプリ内でYYページを表示したときにXXイベントをトリガーまたは収集

import 'package:nativebrik_bridge/dispatcher.dart';

class NativebrikNavigatorObserver extends NavigatorObserver {
  @override
  void didPush(Route<dynamic> route, Route<dynamic>? result) {
    super.didPop(route, result);
    String name = route.settings.name ?? '';
    if (name.isNotEmpty) {
      NativebrikDispatcher().dispatch(NativebrikEvent('NAVIGATION_$name'));
    }
  }

  @override
  void didPop(Route<dynamic> route, Route<dynamic>? result) {
    super.didPop(route, result);
    String name = route.settings.name ?? '';
    if (name.isNotEmpty) {
      NativebrikDispatcher().dispatch(NativebrikEvent('NAVIGATION_$name'));
    }
  }
}

// ...
MaterialApp(
  routes: {
    // ...
  },
  navigatorObservers: [
    NativebrikNavigatorObserver(),
  ],
}
PreviousNativebrikBridgeNextNativebrikProvider

Last updated 3 months ago