Flutter广告效果追踪插件kochava_measurement的使用

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

Flutter KochavaMeasurement #

Kochava Flutter SDK 是一个轻量级插件,可以轻松集成到您的 Flutter 项目中。

下载

Pub.dev

安装 #

SDK 集成

支持 #

support@kochava.com

许可证 #

KochavaMeasurement 可用作 Kochava 服务条款

example/lib/main.dart


///
///  KochavaMeasurement (Flutter)
///
///  Copyright (c) 2020 - 2024 Kochava, Inc. All rights reserved.
///

import ‘dart:async’; import ‘package:flutter/material.dart’; import ‘package:kochava_measurement/kochava_measurement.dart’;

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

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

// 查看完整的文档 https://support.kochava.com/sdk-integration/flutter-sdk-integration/ class _MyAppState extends State<MyApp> { String _deviceId = ‘N/A’;

@override void initState() { super.initState(); startSdk(); }

// 启动 Kochava SDK 并获取 Kochava 设备 ID。 Future<void> startSdk() async { // 启动 Kochava SDK。 KochavaMeasurement.instance.registerAndroidAppGuid(“YOUR_ANDROID_APP_GUID”); KochavaMeasurement.instance.registerIosAppGuid(“YOUR_IOS_APP_GUID”); KochavaMeasurement.instance.setLogLevel(KochavaMeasurementLogLevel.Trace); KochavaMeasurement.instance.start();

// 获取 Kochava 设备 ID。
String deviceId = await KochavaMeasurement.instance.retrieveInstallId();

if (!mounted) return;

setState(() {
  _deviceId = deviceId;
});

}

@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text(‘Kochava 插件示例’), ), body: Center( child: ListView( children: [ Text(‘设备ID: $_deviceId\n’), ], )), ), ); } }

```

完整示例代码

main.dart 文件中,您可以按以下步骤集成 KochavaMeasurement 插件:

  1. 导入必要的库:

    import 'dart:async';
    import 'package:flutter/material.dart';
    import 'package:kochava_measurement/kochava_measurement.dart';
    
  2. main 函数中启动应用并初始化状态:

    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatefulWidget {
      [@override](/user/override)
      _MyAppState createState() => _MyAppState();
    }
    
  3. 创建 _MyAppState 类,并在 initState 方法中启动 Kochava SDK 并获取设备 ID:

    class _MyAppState extends State&lt;MyApp&gt; {
      String _deviceId = 'N/A';
    
      [@override](/user/override)
      void initState() {
        super.initState();
        startSdk();
      }
    
      // 启动 Kochava SDK 并获取 Kochava 设备 ID。
      Future&lt;void&gt; startSdk() async {
        // 启动 Kochava SDK。
        KochavaMeasurement.instance.registerAndroidAppGuid("YOUR_ANDROID_APP_GUID");
        KochavaMeasurement.instance.registerIosAppGuid("YOUR_IOS_APP_GUID");
        KochavaMeasurement.instance.setLogLevel(KochavaMeasurementLogLevel.Trace);
        KochavaMeasurement.instance.start();
    
        // 获取 Kochava 设备 ID。
        String deviceId = await KochavaMeasurement.instance.retrieveInstallId();
    
        if (!mounted) return;
    
        setState(() {
          _deviceId = deviceId;
        });
      }
    
  4. build 方法中显示设备 ID:

    [@override](/user/override)
    Widget build(BuildContext context) {
      return MaterialApp(
        home: Scaffold(
          appBar: AppBar(
            title: const Text('Kochava 插件示例'),
          ),
          body: Center(
              child: ListView(
            children: [
              Text('设备ID: $_deviceId\n'),
            ],
          )),
        ),
      );
    }
    

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

1 回复

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


当然,以下是如何在Flutter项目中使用kochava_measurement插件来实现广告效果追踪的示例代码。这个插件通常用于集成Kochava的广告追踪SDK,以便在Flutter应用中跟踪广告活动的效果。

首先,确保你已经在pubspec.yaml文件中添加了kochava_measurement依赖:

dependencies:
  flutter:
    sdk: flutter
  kochava_measurement: ^最新版本号  # 请替换为实际发布的最新版本号

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

接下来,按照以下步骤在Flutter项目中配置和使用kochava_measurement插件:

  1. 初始化Kochava SDK

在你的Flutter应用的入口文件(通常是main.dart)中,初始化Kochava SDK。

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

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

  // 初始化Kochava SDK
  KochavaMeasurement.instance.initialize(
    appId: '你的Kochava App ID',
    autoCollectDeviceData: true, // 根据需要设置
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}
  1. 设置广告追踪信息

在适当的位置(例如在用户点击广告后),设置广告追踪信息。

import 'package:kochava_measurement/kochava_measurement.dart';

class MyHomePage extends StatelessWidget {
  void _trackAdClick() {
    // 设置广告点击事件
    KochavaMeasurement.instance.trackAdClick(
      adNetwork: '广告网络名称', // 例如: 'Google Ads'
      adUnit: '广告单元ID',      // 例如: 'ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx'
      campaignId: '广告活动ID',  // 可选
      creativeId: '创意ID',      // 可选
      placementId: '位置ID',     // 可选
      clickTimestamp: DateTime.now().millisecondsSinceEpoch, // 当前时间戳
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('广告效果追踪示例'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _trackAdClick,
          child: Text('点击模拟广告'),
        ),
      ),
    );
  }
}
  1. 处理安装归因

Kochava SDK通常会自动处理安装归因,但你可以在应用启动时检查归因数据。

void _checkInstallAttribution() async {
  // 获取安装归因数据
  AttributionData? attributionData = await KochavaMeasurement.instance.getAttributionData();
  
  if (attributionData != null) {
    print('归因数据: ${attributionData.toJson()}');
    // 根据归因数据进行相应处理
  }
}

@override
void initState() {
  super.initState();
  // 在应用启动时检查归因数据
  _checkInstallAttribution();
}

注意:上面的AttributionData类是一个假设的类,实际使用时,你应该参考kochava_measurement插件的文档来了解实际的归因数据类及其属性。

  1. 处理其他广告事件

根据需要,你还可以追踪其他广告事件,如广告展示、广告转化等。

void _trackAdImpression() {
  KochavaMeasurement.instance.trackAdImpression(
    adNetwork: '广告网络名称',
    adUnit: '广告单元ID',
    impressionTimestamp: DateTime.now().millisecondsSinceEpoch,
  );
}

void _trackAdConversion() {
  KochavaMeasurement.instance.trackAdConversion(
    adNetwork: '广告网络名称',
    adUnit: '广告单元ID',
    campaignId: '广告活动ID',
    conversionTimestamp: DateTime.now().millisecondsSinceEpoch,
    conversionValue: 1.0, // 转换价值,根据具体情况设置
  );
}

请确保在实际项目中替换示例代码中的占位符(如你的Kochava App ID广告网络名称等)为实际值。

最后,请仔细阅读kochava_measurement插件的官方文档,以获取更多详细信息和高级用法。

回到顶部