Flutter数据分析与集成插件blueshift_plugin的使用

发布于 1周前 作者 itying888 来自 Flutter

Flutter数据分析与集成插件bluesShift_plugin的使用

Blueshift Flutter Plugin

BluesShift Flutter 插件用于将 Blueshift 的的 iOS 和 Android SDK 集成到您的 Flutter 应用程序中。

整合

请参考 Flutter Plugin Integration 指南来整合 Blueshift SDK 到您的 Android 和 iOS 应用程序中。

使用

在 Dart 代码中导入 Blueshift 插件。

import 'package:bluesShift_plugin/bluesShift_plugin.dart';

导入后,您可以调用 Blueshift 插件的方法如下:

/// Make a call to Blueshift functions
BluesShift.setUserInfoEmailId("test@bluesShift.com");
BlueShift.identifyWithDetails(
  {"user_type": "premium", "country": "US", "timezone": "PST"},
);

更多关于插件功能和方法的信息,请参阅 BluesShift 类

许可证

MIT


示例代码

示例代码位于 example/lib/main.dart 文件中。

import 'dart:async';

import 'package:bluesShift_flutter_plugin_example/pages/inbox_page.dart';
import 'package:bluesShift_plugin/blueShift_plugin.dart';
import 'package:blueShift_flutter_plugin_example/pages/deeplink_page.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

import 'firebase_options.dart';
import 'pages/home_page.dart';
import 'pages/login_page.dart';
import 'utils/routes.dart';

Future<void> _handleRemoteMessage(RemoteMessage message) async {
  print("Push Notification received on the Flutter");
  BluieShift.handlePushNotification(message.data);
}

Future<void> main() async {
  initialiseFirebase();
  runApp(MyApp());
}

Future<void> initialiseFirebase() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp(
    name: 'project-62519831960',
    options: DefaultFirebaseOptions.currentPlatform,
  );

  // https://github.com/firebase/flutterfire/issues/6011
  await FirebaseMessaging.instance.getToken();
  // listen for notification while the app is in background or terminated.
  FirebaseMessaging.onBackgroundMessage(_handleRemoteMessage);
  var _messaging = FirebaseMessaging.instance;

  String? token = await _messaging.getToken();
  print("The firebase token is " + (token ?? "NA"));

  String? APNStoken = await _messaging.getAPNSToken();
  print("The APNS token is " + (APNStoken ?? "NA"));

  // For handling the received notifications
  FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
    print("Firebase push clicked");
  });

  FirebaseMessaging.onMessage.listen((RemoteMessage message) {
    _handleRemoteMessage(message);
  });

  BluieShift.getInstance.oniOSPushNotificationClick.listen((Object payload) {
    print("BluesShift iOS Push Notification received on the Flutter");
    print(payload);
  });

  // iOS config - Show push notification when app is running in foreground
  await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
    alert: true, // Required to display a heads up notification
    badge: true,
    sound: true,
  );
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      themeMode: ThemeMode.light,
      theme: ThemeData(primarySwatch: Colors.blue),
      darkTheme:
          ThemeData(brightness: Brightness.dark, primarySwatch: Colors.grey),
      // initialRoute: "/home",
      routes: {
        "/": (context) =&gt; const LoginPage(),
        MyRoutes.loginRoute: (context) =&gt; const LoginPage(),
        MyRoutes.homeRoute: (context) =&gt; const MyHomePage(),
        MyRoutes.inboxRoute: (context) =&gt; InboxPage(),
        MyRoutes.deeplinkRoute: (context) =&gt; DeeplinkPage(
              deeplink: '',
            ),
      },
    );
  }
}

更多关于Flutter数据分析与集成插件blueshift_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter数据分析与集成插件blueshift_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何在Flutter项目中使用blueshift_plugin进行数据分析和集成的代码示例。blueshift_plugin是一个用于Flutter应用的Blueshift SDK插件,可以帮助你进行用户行为追踪、个性化推送等功能。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加blueshift_plugin的依赖:

dependencies:
  flutter:
    sdk: flutter
  blueshift_plugin: ^最新版本号  # 请替换为当前最新版本号

然后运行flutter pub get来安装依赖。

2. 初始化Blueshift

在你的应用主文件(通常是main.dart)中,你需要初始化Blueshift SDK。这通常在你的应用的入口点进行,比如在MyApp类的构造函数或initState方法中。

import 'package:flutter/material.dart';
import 'package:blueshift_plugin/blueshift_plugin.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    // 初始化Blueshift SDK
    Blueshift.init(
      apiKey: '你的Blueshift API Key', // 请替换为你的Blueshift API Key
      appId: '你的Blueshift App ID',  // 请替换为你的Blueshift App ID
    );

    // 设置用户ID(可选,如果你想要追踪特定用户)
    Blueshift.setUserId('用户ID');

    // 设置用户属性(可选)
    Blueshift.setUserAttributes({
      'name': '用户名称',
      'email': '用户邮箱',
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Blueshift Flutter Demo'),
        ),
        body: Center(
          child: Text('Blueshift SDK 已初始化'),
        ),
      ),
    );
  }
}

3. 追踪事件

你可以在应用中的任何地方追踪用户事件。例如,当用户点击一个按钮时,你可以追踪这个事件:

import 'package:flutter/material.dart';
import 'package:blueshift_plugin/blueshift_plugin.dart';

class EventTrackingScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('事件追踪'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            // 追踪一个自定义事件
            Blueshift.trackEvent(
              eventName: 'button_clicked',
              eventProperties: {
                'button_name': '追踪按钮',
                'timestamp': DateTime.now().toIso8601String(),
              },
            );
          },
          child: Text('点击追踪'),
        ),
      ),
    );
  }
}

4. 集成到应用中

最后,将你的事件追踪屏幕集成到你的应用中。例如,你可以在你的主应用中添加一个导航到事件追踪屏幕的按钮:

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    // 初始化Blueshift SDK(如上所示)
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Blueshift Flutter Demo'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text('Blueshift SDK 已初始化'),
              SizedBox(height: 20),
              ElevatedButton(
                onPressed: () {
                  Navigator.push(
                    context,
                    MaterialPageRoute(builder: (context) => EventTrackingScreen()),
                  );
                },
                child: Text('事件追踪屏幕'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

总结

以上代码展示了如何在Flutter项目中集成和使用blueshift_plugin进行数据分析和事件追踪。请确保你已经替换了所有必要的API Key和App ID,并根据你的应用需求调整用户属性和事件属性。

回到顶部