Flutter安装来源追踪插件install_referrer_v2的使用
安装来源追踪插件install_referrer_v2
这是一个允许你检测应用程序如何被安装的Flutter插件。
支持的平台
- Android: ✅
- iOS: ✅
欢迎提交PR以支持新的平台。
安装
- 在你的
pubspec.yaml
文件中添加install_referrer_v2: ^1.0.0
。 - 导入
import 'package:install_referrer_v2/install_referrer_v2.dart';
- 通过调用
Future
InstallReferrerV2.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
更多关于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
插件来追踪应用的安装来源。