Flutter安装来源追踪插件install_referrer_v2的使用

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

安装来源追踪插件install_referrer_v2

Pub

这是一个允许你检测应用程序如何被安装的Flutter插件。

支持的平台

  • Android: ✅
  • iOS: ✅

欢迎提交PR以支持新的平台。

安装

  1. 在你的pubspec.yaml文件中添加install_referrer_v2: ^1.0.0
  2. 导入import 'package:install_referrer_v2/install_referrer_v2.dart';
  3. 通过调用FutureInstallReferrerV2.installReferrer来获取值。

示例代码

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

import ‘package:flutter/services.dart’; import ‘package:install_referrer_v2/install_referrer_v2.dart’;

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

class MyApp extends StatefulWidget { const MyApp({super.key});

@override State<MyApp> createState() => _MyAppState(); }

class _MyAppState extends State<MyApp> { String _platformVersion = ‘未知’; final _installReferrerV2Plugin = InstallReferrerV2();

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

// 平台消息是异步的,所以我们初始化在一个异步方法中。 Future<void> initPlatformState() async { String platformVersion; // 平台消息可能会失败,所以我们使用try/catch来处理PlatformException。 // 我们还处理消息可能返回null的情况。 try { ReferrerDetails referrerDetails = await InstallReferrerV2.installReferrer; print(referrerDetails.toString()); platformVersion = referrerDetails.installReferrer.toString(); } on PlatformException { platformVersion = ‘获取平台版本失败。’; }

// 如果小部件从树中移除而异步平台消息正在飞行,则我们希望丢弃回复而不是调用setState来更新我们的非存在的外观。
if (!mounted) return;

setState(() {
  _platformVersion = platformVersion;
});

}

@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text(‘插件示例应用’), ), body: Center( child: Text(‘运行于: $_platformVersion\n’), ), ), ); } }


更多关于Flutter安装来源追踪插件install_referrer_v2的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter安装来源追踪插件install_referrer_v2的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter项目中,使用install_referrer_v2插件可以帮助你追踪应用的安装来源。下面是一个如何在Flutter项目中集成和使用install_referrer_v2插件的详细代码案例。

1. 添加依赖

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

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

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

2. 配置Android项目

由于install_referrer_v2插件主要与Android相关,你需要在Android项目中做一些配置。

2.1 修改android/app/build.gradle

确保你的minSdkVersion至少是14,因为install_referrer API在API级别14及以上才可用。

android {
    compileSdkVersion 30

    defaultConfig {
        applicationId "com.example.yourapp"
        minSdkVersion 14
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
    }
    ...
}

2.2 添加必要的权限(如果需要)

通常,追踪安装来源不需要额外的权限,但如果你需要访问其他敏感信息,请在android/app/src/main/AndroidManifest.xml中添加相应的权限。

3. 使用插件

在你的Flutter代码中,你可以这样使用install_referrer_v2插件:

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

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

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

class _MyAppState extends State<MyApp> {
  String? referrerInfo;

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

  Future<void> _getInstallReferrerInfo() async {
    try {
      final InstallReferrerInfo installReferrerInfo =
          await InstallReferrerInfo.instance.getInstallReferrerInfo();
      
      String? referrer = installReferrerInfo.referrer;
      String? installDateTime = installReferrerInfo.installDateTime;
      String? firstInstallTime = installReferrerInfo.firstInstallTime;
      int? installBeginTimestamp = installReferrerInfo.installBeginTimestamp;
      int? installEndTimestamp = installReferrerInfo.installEndTimestamp;
      bool? googlePlayInstall = installReferrerInfo.googlePlayInstall;

      setState(() {
        referrerInfo = 'Referrer: $referrer\n'
            'Install Date/Time: $installDateTime\n'
            'First Install Time: $firstInstallTime\n'
            'Install Begin Timestamp: $installBeginTimestamp\n'
            'Install End Timestamp: $installEndTimestamp\n'
            'Google Play Install: $googlePlayInstall';
      });
    } catch (e) {
      print('Error retrieving install referrer info: $e');
      setState(() {
        referrerInfo = 'Error retrieving install referrer info.';
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Install Referrer Info'),
        ),
        body: Center(
          child: Text(referrerInfo ?? 'Loading...'),
        ),
      ),
    );
  }
}

4. 运行应用

完成上述步骤后,你可以运行你的Flutter应用。如果应用是通过某些带有referrer信息的渠道安装的(例如,点击了带有特定参数的Google Ads广告),你应该能够在应用中看到这些安装来源信息。

注意事项

  • 确保你的测试设备或模拟器已经清除了之前的应用数据,或者这是一个全新的安装,以便能够正确测试安装来源追踪。
  • 在实际生产环境中,安装来源信息可能受到各种因素的影响,包括用户的隐私设置、广告渠道的配置等。

这个代码案例应该能帮助你在Flutter项目中集成和使用install_referrer_v2插件来追踪应用的安装来源。

回到顶部