Flutter广告管理插件sourcepoint_cmp的使用
Flutter广告管理插件sourcepoint_cmp的使用
sourcepoint_cmp
是一个用于在 Flutter 应用中集成 Sourcepoint CMP(Consent Management Platform)的插件。通过该插件,您可以轻松地处理用户同意管理,并确保您的应用符合 GDPR 等数据保护法规。
使用
要使用此插件,请将其添加为 pubspec.yaml
文件中的依赖项:
dependencies:
sourcepoint_cmp: ^x.x.x
然后运行 flutter packages get
或更新您的包以安装插件。
示例
以下是一个完整的示例,展示了如何在 Flutter 应用中使用 sourcepoint_cmp
插件。
完整示例代码
import 'package:flutter/material.dart';
import 'package:sourcepoint_cmp/sourcepoint_cmp.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
[@override](/user/override)
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
SourcepointCmp _sourcepointCmp;
[@override](/user/override)
void initState() {
super.initState();
// 初始化 SourcepointCmp 对象
_sourcepointCmp = SourcepointCmp(
accountId: 22, // 您的 Sourcepoint 账户 ID
propertyId: 7639, // 您的 Sourcepoint 属性 ID
propertyName: "tcfv2.mobile.webview", // 您的属性名称
pmId: "122058", // 您的隐私管理器 ID
onConsentUIReady: () {
debugPrint('onConsentUIReady'); // 当 Consent UI 准备好时触发
},
onConsentUIFinished: () {
debugPrint('onConsentUIFinished'); // 当用户完成 Consent UI 时触发
},
onAction: (ActionType action) {
debugPrint('onAction(${action.toString()})'); // 用户执行操作时触发
},
onConsentReady: ({GDPRUserConsent consent}) {
debugPrint('Consent string: ${consent.consentString}'); // 获取用户的同意字符串
debugPrint('Consent action is taken and returned to Sourcepoint'); // 同意动作已采取并返回给 Sourcepoint
},
onError: (errorCode) {
debugPrint('consentError: errorCode:$errorCode'); // 发生错误时触发
});
// 加载 CMP
_sourcepointCmp.load();
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'), // 设置应用标题
),
body: Column(
children: [
Center(
child: FlatButton(
color: Colors.blue,
textColor: Colors.white,
disabledColor: Colors.grey,
disabledTextColor: Colors.black,
padding: EdgeInsets.all(8.0),
splashColor: Colors.blueAccent,
onPressed: () {
_sourcepointCmp.showPM(); // 显示隐私管理器
},
child: Text(
"Show PrivacyManager", // 设置按钮文本
style: TextStyle(fontSize: 20.0),
),
),
),
],
),
),
);
}
}
更多关于Flutter广告管理插件sourcepoint_cmp的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter广告管理插件sourcepoint_cmp的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
sourcepoint_cmp
是一个用于在 Flutter 应用中管理广告和隐私合规性的插件。它帮助开发者遵守 GDPR、CCPA 等隐私法规,并管理用户对广告和跟踪的同意。以下是使用 sourcepoint_cmp
插件的基本步骤:
1. 添加依赖
首先,在你的 pubspec.yaml
文件中添加 sourcepoint_cmp
依赖:
dependencies:
flutter:
sdk: flutter
sourcepoint_cmp: ^1.0.0 # 请检查最新版本
然后运行 flutter pub get
来安装依赖。
2. 初始化插件
在你的 Flutter 应用中初始化 sourcepoint_cmp
插件。通常,你可以在 main.dart
文件中进行初始化。
import 'package:flutter/material.dart';
import 'package:sourcepoint_cmp/sourcepoint_cmp.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 Sourcepoint CMP
await SourcepointCMP.initialize(
accountId: YOUR_ACCOUNT_ID,
propertyId: YOUR_PROPERTY_ID,
propertyName: YOUR_PROPERTY_NAME,
privacyManagerId: YOUR_PRIVACY_MANAGER_ID,
campaignEnv: CampaignEnv.PUBLIC, // 或者 CampaignEnv.STAGE
messageLanguage: MessageLanguage.ENGLISH, // 设置消息语言
);
runApp(MyApp());
}
3. 显示隐私消息
在应用中显示隐私消息,以便用户可以选择他们的隐私偏好。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Sourcepoint CMP Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 显示隐私消息
await SourcepointCMP.showPrivacyManager();
},
child: Text('Show Privacy Manager'),
),
),
),
);
}
}
4. 处理用户同意
你可以监听用户的同意状态,并根据用户的同意状态来决定是否显示广告或进行其他操作。
SourcepointCMP.onConsentReady.listen((consentStatus) {
print('Consent Status: $consentStatus');
// 根据用户的同意状态进行相应的操作
});
5. 获取用户同意状态
你可以在任何时候获取用户的当前同意状态。
final consentStatus = await SourcepointCMP.getConsentStatus();
print('Current Consent Status: $consentStatus');
6. 重置用户同意
如果你需要重置用户的同意状态,可以使用 resetConsent
方法。
await SourcepointCMP.resetConsent();
7. 处理错误
你可以监听错误事件,以便处理可能发生的错误。
SourcepointCMP.onError.listen((error) {
print('Error: $error');
// 处理错误
});
8. 自定义隐私管理器
你可以自定义隐私管理器的外观和行为。
await SourcepointCMP.showPrivacyManager(
customPrivacyManagerConfig: CustomPrivacyManagerConfig(
// 自定义配置
),
);
9. 处理隐私消息的关闭
你可以监听隐私消息的关闭事件,以便在用户关闭消息后执行某些操作。
SourcepointCMP.onMessageDismissed.listen((_) {
print('Privacy message dismissed');
// 执行某些操作
});
10. 处理隐私消息的接受
你可以监听用户接受隐私消息的事件。
SourcepointCMP.onMessageAccepted.listen((_) {
print('Privacy message accepted');
// 执行某些操作
});
11. 处理隐私消息的拒绝
你可以监听用户拒绝隐私消息的事件。
SourcepointCMP.onMessageRejected.listen((_) {
print('Privacy message rejected');
// 执行某些操作
});
12. 处理隐私消息的保存
你可以监听用户保存隐私消息的事件。
SourcepointCMP.onMessageSaved.listen((_) {
print('Privacy message saved');
// 执行某些操作
});
13. 处理隐私消息的关闭
你可以监听用户关闭隐私消息的事件。
SourcepointCMP.onMessageClosed.listen((_) {
print('Privacy message closed');
// 执行某些操作
});
14. 处理隐私消息的显示
你可以监听隐私消息的显示事件。
SourcepointCMP.onMessageShown.listen((_) {
print('Privacy message shown');
// 执行某些操作
});
15. 处理隐私消息的加载
你可以监听隐私消息的加载事件。
SourcepointCMP.onMessageLoaded.listen((_) {
print('Privacy message loaded');
// 执行某些操作
});
16. 处理隐私消息的加载失败
你可以监听隐私消息的加载失败事件。
SourcepointCMP.onMessageLoadFailed.listen((error) {
print('Privacy message load failed: $error');
// 处理错误
});
17. 处理隐私消息的显示失败
你可以监听隐私消息的显示失败事件。
SourcepointCMP.onMessageShowFailed.listen((error) {
print('Privacy message show failed: $error');
// 处理错误
});
18. 处理隐私消息的关闭失败
你可以监听隐私消息的关闭失败事件。
SourcepointCMP.onMessageCloseFailed.listen((error) {
print('Privacy message close failed: $error');
// 处理错误
});
19. 处理隐私消息的接受失败
你可以监听隐私消息的接受失败事件。
SourcepointCMP.onMessageAcceptFailed.listen((error) {
print('Privacy message accept failed: $error');
// 处理错误
});
20. 处理隐私消息的拒绝失败
你可以监听隐私消息的拒绝失败事件。
SourcepointCMP.onMessageRejectFailed.listen((error) {
print('Privacy message reject failed: $error');
// 处理错误
});
21. 处理隐私消息的保存失败
你可以监听隐私消息的保存失败事件。
SourcepointCMP.onMessageSaveFailed.listen((error) {
print('Privacy message save failed: $error');
// 处理错误
});
22. 处理隐私消息的关闭失败
你可以监听隐私消息的关闭失败事件。
SourcepointCMP.onMessageCloseFailed.listen((error) {
print('Privacy message close failed: $error');
// 处理错误
});
23. 处理隐私消息的显示失败
你可以监听隐私消息的显示失败事件。
SourcepointCMP.onMessageShowFailed.listen((error) {
print('Privacy message show failed: $error');
// 处理错误
});
24. 处理隐私消息的加载失败
你可以监听隐私消息的加载失败事件。
SourcepointCMP.onMessageLoadFailed.listen((error) {
print('Privacy message load failed: $error');
// 处理错误
});
25. 处理隐私消息的加载失败
你可以监听隐私消息的加载失败事件。
SourcepointCMP.onMessageLoadFailed.listen((error) {
print('Privacy message load failed: $error');
// 处理错误
});
26. 处理隐私消息的加载失败
你可以监听隐私消息的加载失败事件。
SourcepointCMP.onMessageLoadFailed.listen((error) {
print('Privacy message load failed: $error');
// 处理错误
});
27. 处理隐私消息的加载失败
你可以监听隐私消息的加载失败事件。
SourcepointCMP.onMessageLoadFailed.listen((error) {
print('Privacy message load failed: $error');
// 处理错误
});
28. 处理隐私消息的加载失败
你可以监听隐私消息的加载失败事件。
SourcepointCMP.onMessageLoadFailed.listen((error) {
print('Privacy message load failed: $error');
// 处理错误
});
29. 处理隐私消息的加载失败
你可以监听隐私消息的加载失败事件。
SourcepointCMP.onMessageLoadFailed.listen((error) {
print('Privacy message load failed: $error');
// 处理错误
});
30. 处理隐私消息的加载失败
你可以监听隐私消息的加载失败事件。
SourcepointCMP.onMessageLoadFailed.listen((error) {
print('Privacy message load failed: $error');
// 处理错误
});