Flutter谷歌标签管理器插件gtm的使用
Flutter谷歌标签管理器插件gtm的使用
目录
示例
以下是一个完整的Flutter应用示例,展示了如何使用gtm
插件。
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:gtm/gtm.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Home(),
);
}
}
class Home extends StatefulWidget {
const Home({super.key});
@override
State<Home> createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
void initState() {
super.initState();
try {
final gtm = Gtm.instance
..setCustomTagTypes([
CustomTagType(
'amplitude',
handler: (eventName, parameters) {
print('amplitude!');
print(eventName);
print(parameters);
},
),
]);
gtm.push(
'test',
parameters: {
'user_no': 912342,
},
);
gtm.push(
'readCase',
parameters: {
'user_no': 912342,
'user_type': 2,
},
);
gtm.push(
'buyEduCamp',
parameters: {
'user_no': 912342,
'price': 10000.0,
},
);
} on PlatformException {
print('exception occurred!');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Container(),
);
}
}
配置
iOS, Android
Firebase Analytics
要在移动平台上使用此插件,您需要首先在项目中设置Firebase Analytics
。因为firebase analytics
扮演着datalayer
的角色。有关Firebase设置,请参阅Firebase文档。
iOS
更多配置详情请参考GTM iOS 文档。
- 创建iOS GTM容器
- 下载容器版本文件(GTM-xxxxxxx.json)
- 将其放入
$Project/ios/container
- 在Xcode中,选择File - Add files to Runner
- 选择
container
文件夹,并选择Create folder references
选项
Android
更多配置详情请参考GTM Android 文档。
- 创建Android GTM容器
- 下载容器版本文件(GTM-xxxxxxx.json)
- 将其放入
$Project/android/app/src/main/assets/containers
(不是container)
**注意:**GTM-xxxxxxx.json用于设置初始标签配置,直到第一次下载容器。一旦应用程序连接到互联网并下载了容器,它将不再使用默认容器。应用程序通常每隔12小时检查一次容器更新。
Web
您需要按照以下步骤在web项目中设置datalayer。
- 创建Web GTM容器
- 将代码片段添加到
web/index.html
如何使用
iOS, Android
推送事件
// 推送事件
gtm.push(
'test',
parameters: {
'user_no': 912342,
},
);
参数值可以是String
、bool
、int
、double
、List
、Map
。
由于使用了ga4
来推送事件,因此会自动触发ga4
事件(除非您忽略了它)。
自定义标签
有时,默认提供的标签不足以满足需求。在这种情况下,可以使用自定义标签。如果要使用自定义标签,则必须按照以下规则在容器中创建标签。
- 设置标签类型为
Function Call
- 设置类名/路径
CustomTag
- iOSkr.heewook.gtm_android.CustomTag
- Android
- 设置
tagType
- 这对应于CustomTagType
类的名称属性
您可以参考以下示例。
iOS 示例
Android 示例
附加触发器
// 设置自定义标签类型
gtm.setCustomTagTypes(
[
CustomTagType(
'amplitude',
handler: (eventName, parameters) {
print('amplitude!');
// 将打印 'test'
print(eventName);
print(parameters);
},
),
],
);
// 推送事件
gtm.push(
'test',
parameters: {
'user_no': 912342,
},
);
现在,您可以通过将CustomTagType
列表传递给setCustomTagTypes
方法来监听想要的自定义标签。
在CustomTagType
中,指定在容器中设置的tagType
,并在处理器中使用eventName
和parameters
。
Web
推送事件
// 推送事件
gtm.push(
'test',
parameters: {
'user_no': 912342,
},
);
参数值可以是String
、bool
、int
、double
、List
、Map
。
自定义标签
与iOS和Android平台不同,您需要在web gtm容器内设置标签,而不是在代码中。
如果找不到所需的标签并且不在画廊中,您可以通过自定义HTML自行实现。
通过以上内容,您应该能够顺利地在Flutter项目中集成和使用gtm
插件。如果有任何问题或需要进一步的帮助,请随时提问!
更多关于Flutter谷歌标签管理器插件gtm的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter谷歌标签管理器插件gtm的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter应用中集成Google Tag Manager (GTM) 插件,可以方便地管理和跟踪应用中的事件和数据。以下是一个简单的代码案例,展示如何在Flutter项目中集成并使用GTM插件。
1. 添加依赖
首先,在你的pubspec.yaml
文件中添加google_tag_manager
依赖:
dependencies:
flutter:
sdk: flutter
google_tag_manager: ^x.y.z # 请替换为最新版本号
然后运行flutter pub get
来安装依赖。
2. 初始化GTM
在你的Flutter应用的入口文件(通常是main.dart
)中,初始化GTM。你需要提供GTM容器的ID。
import 'package:flutter/material.dart';
import 'package:google_tag_manager/google_tag_manager.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
// 初始化GTM
final containerId = 'GTM-XXXXXXX'; // 替换为你的GTM容器ID
final dataLayerName = 'dataLayer'; // 默认数据层名称
GoogleTagManager.instance.init(
containerId: containerId,
dataLayerName: dataLayerName,
enableDebugMode: kDebugMode, // 在开发模式下启用调试
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
3. 使用GTM
在你的应用中,你可以通过GTM来推送事件和数据。例如,在按钮点击时推送一个事件:
import 'package:flutter/material.dart';
import 'package:google_tag_manager/google_tag_manager.dart';
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Demo Home Page'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
// 推送事件到GTM
GoogleTagManager.instance.dataLayer.push({
'event': 'buttonClick',
'eventCategory': 'ui_actions',
'eventLabel': 'click_home_button',
'eventValue': 1,
});
},
child: Text('Click Me'),
),
),
);
}
}
4. 配置GTM容器
在GTM控制台中,配置你的容器,包括创建触发器(Triggers)和变量(Variables),以捕获和响应Flutter应用中的事件。
注意事项
- 确保你的GTM容器ID是正确的,并且GTM已经正确配置。
- 在生产环境中,通常不建议启用调试模式(
enableDebugMode: kDebugMode
)。 - 根据你的需求,你可以在
dataLayer.push
中推送更多自定义数据。
通过上述步骤,你可以在Flutter应用中集成并使用Google Tag Manager来管理和跟踪应用事件。这有助于你更好地理解和优化用户行为。