Flutter广告跟踪与分析插件adjust_sdk的使用

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

Flutter广告跟踪与分析插件adjust_sdk的使用

Adjust SDK for Flutter 是 Adjust 公司为 Flutter 提供的广告跟踪和分析插件。通过这个插件,开发者可以轻松集成广告跟踪和用户行为分析功能到他们的 Flutter 应用中。详细的文档可以在 Adjust 开发者文档 中找到。

License

Adjust SDK for Flutter 遵循 MIT 许可证

示例代码

以下是一个完整的示例 demo,展示了如何在 Flutter 应用中使用 adjust_sdk 插件进行广告跟踪和分析。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  adjust_sdk: ^x.x.x # 请替换为最新版本号

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

2. 初始化 Adjust SDK

在应用启动时初始化 Adjust SDK,并设置相关回调函数。

import 'package:adjust_sdk/adjust.dart';
import 'package:adjust_sdk/adjust_attribution.dart';
import 'package:adjust_sdk/adjust_config.dart';
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, this.title}) : super(key: key);

  final String? title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {
  bool _isSdkEnabled = true;

  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance!.addObserver(this);
    initPlatformState();
  }

  @override
  void dispose() {
    WidgetsBinding.instance!.removeObserver(this);
    super.dispose();
  }

  void initPlatformState() async {
    AdjustConfig config = new AdjustConfig('YOUR_APP_TOKEN', AdjustEnvironment.sandbox);
    config.logLevel = AdjustLogLevel.verbose;

    config.attributionCallback = (AdjustAttribution attributionChangedData) {
      print('[Adjust]: Attribution changed!');
      // 处理归因数据
    };

    config.sessionSuccessCallback = (AdjustSessionSuccess sessionSuccessData) {
      print('[Adjust]: Session tracking success!');
      // 处理会话成功数据
    };

    config.sessionFailureCallback = (AdjustSessionFailure sessionFailureData) {
      print('[Adjust]: Session tracking failure!');
      // 处理会话失败数据
    };

    config.eventSuccessCallback = (AdjustEventSuccess eventSuccessData) {
      print('[Adjust]: Event tracking success!');
      // 处理事件成功数据
    };

    config.eventFailureCallback = (AdjustEventFailure eventFailureData) {
      print('[Adjust]: Event tracking failure!');
      // 处理事件失败数据
    };

    config.deferredDeeplinkCallback = (String? uri) {
      print('[Adjust]: Received deferred deeplink: $uri');
    };

    config.skanUpdatedCallback = (Map<String, String> skanUpdateData) {
      print('[Adjust]: Received SKAN update information!');
      // 处理 SKAN 更新信息
    };

    Adjust.initSdk(config);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title!),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              onPressed: () {
                Adjust.trackEvent(Util.buildSimpleEvent());
              },
              child: Text('Track Simple Event'),
            ),
            ElevatedButton(
              onPressed: () {
                Adjust.getAdid().then((adid) {
                  print('Adjust identifier: $adid');
                });
              },
              child: Text('Get Adjust Identifier'),
            ),
          ],
        ),
      ),
    );
  }
}

3. 定义事件

你可以定义不同类型的事件来跟踪用户的行为。例如,定义一个简单的事件:

class Util {
  static AdjustEvent buildSimpleEvent() {
    AdjustEvent event = new AdjustEvent('YOUR_EVENT_TOKEN');
    return event;
  }
}

4. 启用/禁用 SDK

你还可以根据需要启用或禁用 Adjust SDK:

setState(() {
  if (value == true) {
    Adjust.enable();
  } else {
    Adjust.disable();
  }
  _isSdkEnabled = value;
  print('Switch state = $_isSdkEnabled');
});

总结

通过上述步骤,你可以轻松地在 Flutter 应用中集成 Adjust SDK 进行广告跟踪和用户行为分析。更多详细的功能和配置可以参考 Adjust 官方文档


更多关于Flutter广告跟踪与分析插件adjust_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter广告跟踪与分析插件adjust_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中集成和使用Adjust SDK(adjust_sdk)进行广告跟踪与分析的示例代码。这涵盖了基本的初始化、事件跟踪和会话跟踪。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  adjust_sdk: ^版本号  # 请替换为最新的版本号

然后运行flutter pub get来获取依赖。

2. 配置Adjust SDK

在你的Flutter项目的main.dart文件中,或者在初始化部分,配置Adjust SDK。

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

void main() {
  // 初始化Adjust SDK
  AdjustConfig config = AdjustConfig(
    appToken: "your_app_token", // 替换为你的App Token
    environment: AdjustEnvironment.PRODUCTION, // 或者 AdjustEnvironment.SANDBOX
    logLevel: AdjustLogLevel.VERBOSE, // 可选,设置日志级别
    eventBufferingEnabled: true, // 可选,是否启用事件缓冲
    defaultTracker: "default_tracker", // 可选,设置默认tracker
    // 更多配置选项可以根据需要添加
  );

  Adjust.create(config);

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Adjust SDK Demo'),
        ),
        body: Center(
          child: AdjustDemo(),
        ),
      ),
    );
  }
}

class AdjustDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        TextButton(
          onPressed: () {
            _trackEvent();
          },
          child: Text('Track Event'),
        ),
        TextButton(
          onPressed: () {
            _trackSessionStart();
          },
          child: Text('Track Session Start'),
        ),
        TextButton(
          onPressed: () {
            _trackSessionEnd();
          },
          child: Text('Track Session End'),
        ),
      ],
    );
  }

  void _trackEvent() {
    AdjustEvent event = AdjustEvent("your_event_token"); // 替换为你的事件Token
    event.addCallbackParameter("key", "value"); // 添加回调参数
    Adjust.trackEvent(event);
  }

  void _trackSessionStart() {
    Adjust.trackSessionStart();
  }

  void _trackSessionEnd() {
    Adjust.trackSessionEnd();
  }
}

3. 处理回调(可选)

你可以通过实现AdjustEventListener接口来处理回调,例如:

class AdjustEventListenerImpl implements AdjustEventListener {
  @override
  void onEventSuccess(AdjustEventSuccess eventSuccess) {
    // 处理事件成功回调
    print("Event tracked successfully: ${eventSuccess.eventToken}");
  }

  @override
  void onEventFailure(AdjustEventFailure eventFailure) {
    // 处理事件失败回调
    print("Event tracking failed: ${eventFailure.message}");
  }

  @override
  void onSessionTrackingSucceeded(AdjustSessionSuccess sessionSuccess) {
    // 处理会话跟踪成功回调
    print("Session tracking succeeded");
  }

  @override
  void onSessionTrackingFailed(AdjustSessionFailure sessionFailure) {
    // 处理会话跟踪失败回调
    print("Session tracking failed: ${sessionFailure.message}");
  }

  // 其他回调方法可以根据需要实现
}

// 在初始化Adjust SDK时设置回调监听器
Adjust.setEventListener(AdjustEventListenerImpl());

4. 运行应用

完成上述步骤后,你可以运行你的Flutter应用,并通过按钮触发事件和会话跟踪。

请确保替换示例代码中的your_app_tokenyour_event_token为你在Adjust后台获取的实际值。

注意

  • 在生产环境中,应将AdjustEnvironment.SANDBOX替换为AdjustEnvironment.PRODUCTION
  • 根据你的需求,可以进一步配置Adjust SDK,如设置代理、启用后台会话等。

希望这些代码示例能帮助你在Flutter项目中成功集成和使用Adjust SDK进行广告跟踪与分析。

回到顶部