Flutter通用SDK插件aiactiv_universal_sdk的功能使用
Flutter通用SDK插件aiactiv_universal_sdk的功能使用
安装
要安装aiactiv_universal_sdk
,请运行以下命令:
flutter pub add aiactiv_universal_sdk
iOS 配置
你需要在Info.plist
文件中添加以下代码,并将FILL_YOUR_WRITE_KEY_HERE
替换为你的写入密钥:
<key>AiactivSDKConfig</key>
<dict>
<key>writeKey</key>
<string>FILL_YOUR_WRITE_KEY_HERE</string>
</dict>
如果你想要为广告网络使用不同的写入密钥,可以添加另一个键值对:
<key>AiactivSDKConfig</key>
<dict>
<key>writeKey</key>
<string>FILL_YOUR_WRITE_KEY_HERE</string>
<key>writeKeyForAdNetwork</key>
<string>FILL_YOUR_WRITE_KEY_HERE</string>
</dict>
在UIApplicationDelegate
中导入AiactivUniversalSDK
模块:
#import <WebKit/WebKit.h>
#import <AiactivUniversalSDK/AiactivUniversalSDK-Swift.h>
在应用委托的application(_:didFinishLaunchingWithOptions:)
方法中配置AiactivUniversalSDK
共享实例:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 在应用启动后进行自定义配置。
[Aiactiv startWithConfig:nil];
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
Android 配置
你需要在AndroidManifest.xml
文件中添加以下代码,将其置于<application>
标签内:
<meta-data
android:name="io.aiactiv.sdk.WRITE_KEY"
android:value="FILL_YOUR_WRITE_KEY_HERE" />
如果你想要为广告网络使用不同的写入密钥,可以添加另一个meta-data
标签:
<meta-data
android:name="io.aiactiv.sdk.WRITE_KEY"
android:value="FILL_YOUR_WRITE_KEY_HERE" />
<meta-data
android:name="io.aiactiv.sdk.WRITE_KEY_ADNETWORK"
android:value="FILL_YOUR_WRITE_KEY_HERE" />
使用
广告网络
横幅广告(Banner Ad)
import 'package:aiactiv_universal_sdk/aiactiv_universal_sdk.dart';
// ...
BannerAd(
size: AdSize.custom("320x150"),
unitID: YOUR_INVENTORY_ID,
request: const AdRequest(context: {
// 这是可选的
"title": "Got Talents show",
"keywords": "movie, show, hot",
"screen": "Home",
}),
listener: BannerAdListener(
onAdLoaded: () => print('FLT onAdLoaded'),
onAdFailedToLoad: (error) => print('FLT onAdFailedToLoad: $error')
),
),
预定义尺寸:
AdSize | Width x Height |
---|---|
banner | 320x50 |
fullBanner | 468x60 |
largeBanner | 320x100 |
rectangle | 250x250 |
mediumRectangle | 300x250 |
video | 480x360 |
也可以使用自定义尺寸,格式为widthxheight
。例如:640x480, 300x500…
自适应横幅广告(Adaptive Banner Ad)
import 'package:aiactiv_universal_sdk/aiactiv_universal_sdk.dart';
// ...
BannerAd(
size: AdSize.custom("320x150"),
unitID: YOUR_INVENTORY_ID,
adaptiveSize: YOUR_ADAPTIVE_SIZE, // SDK会根据广告比例自动计算高度
request: const AdRequest(context: {
// 这是可选的
"title": "Got Talents show",
"keywords": "movie, show, hot",
"screen": "Home",
}),
listener: BannerAdListener(
onAdLoaded: () => print('FLT onAdLoaded'),
onAdFailedToLoad: (error) => print('FLT onAdFailedToLoad: $error')
),
),
视频广告(Video Ad)
要显示视频广告,你需要使用VideoAdLoader
函数从Aiactiv平台获取VAST标签URL,然后使用你自己的播放器播放它。
import 'package:aiactiv_universal_sdk/aiactiv_universal_sdk.dart';
// ...
try {
// 通过调用VideoAdLoader函数并传递库存ID和广告类型来加载广告
var vastTagUrl = await VideoAdLoader.loadAd(YOUR_INVENTORY_ID, 'video');
print('FLT onAdLoader: $vastTagUrl');
// 然后使用你自己的播放器播放获取到的vastTagUrl
} catch (error) {
// 如果加载广告时发生错误,打印错误信息
print('FLT onAdFailedToLoad: $error');
}
原生广告(Native Ad)
NativeAdLoader
会获取原生广告数据并手动绑定到你的视图。
import 'package:aiactiv_universal_sdk/aiactiv_universal_sdk.dart';
// ...
/// 原生广告加载器实例。
NativeAdLoader? _nativeAd;
// 创建并加载原生广告
_nativeAd = NativeAdLoader(
unitID: YOUR_INVENTORY_ID,
request: const AdRequest(),
listener: NativeAdListener(onAdLoaded: (NativeAdData nativeAdData) {
print('FLT onAdLoaded: $nativeAdData');
}, onAdFailedToLoad: (error) {
print('onAdFailedToLoad: $error');
}))
..loadAd();
// ...
// 执行广告点击操作
_nativeAd?.performAdClicked((url) {
print('onAdClicked: $url');
});
原生广告属性:
NativeAd Properties | Type |
---|---|
title | String |
description | String |
iconImageMetadata | ImageMetadata |
mainImageMetadata | ImageMetadata |
ctaDescription | String |
sponsored | String |
分析
分析功能会自动初始化并收集数据。你还可以通过以下方法手动跟踪事件:
跟踪事件(Track Events)
import 'package:aiactiv_universal_sdk/aiactiv_universal_sdk.dart';
Analytics.track(String name, [Map<String, Object>? properties]);
要跟踪一个事件,你需要调用Analytics.track()
方法并传入两个参数:name
和 properties
。
name
参数是一个字符串,用于命名事件,例如:“文章浏览”、“注册”、"购买"等。properties
参数是一个对象,用于包含事件的详细信息,例如:文章标题、产品类型、订单金额等。
// 创建一个对象来包含事件的属性
const postViewEventProperties = {
title: '文章标题',
category: '分类1, 分类2',
keyword: '关键词1, 关键词2, ...',
...
};
// 使用创建的属性跟踪事件"文章浏览"
Analytics.track('文章浏览', postViewEventProperties);
识别用户(Identify Events)
import 'package:aiactiv_universal_sdk/aiactiv_universal_sdk.dart';
Analytics.identify(String userId, [Map<String, Object>? traits]);
要识别一个用户,你需要调用Analytics.identify()
方法并传入一个参数:userId
。
userId
参数是一个字符串,用于标识你的用户,例如:“PartnerUserID-01”。- 你还可以传入另一个对象来包含用户额外的信息,例如:用户名、用户类型等。
// 创建一个对象来包含用户的属性
const userTraits = {
userName: '用户名1',
userType: '普通用户',
...
};
// 使用用户ID和创建的属性识别用户
Analytics.identify('PartnerUserID-01', userTraits)
跟踪屏幕(Screen Events)
import 'package:aiactiv_universal_sdk/aiactiv_universal_sdk.dart';
Analytics.screen(String title, [Map<String, Object>? properties]);
要跟踪一个屏幕,你需要调用Analytics.screen()
方法并传入一个参数:title
。
title
参数是一个字符串,用于命名屏幕,例如:“登录屏幕”、"主页屏幕"等。- 你还可以传入另一个对象来包含屏幕的详细信息,例如:登录方式、帖子数量等。
// 创建一个对象来包含屏幕的属性
const loginScreenProperties = {
loginMethod: 'FACEBOOK/GOOGLE/OTP/QR',
...
};
// 使用屏幕名称和创建的属性跟踪屏幕
Analytics.screen(title: "登录屏幕", properties: loginScreenProperties)
更多关于Flutter通用SDK插件aiactiv_universal_sdk的功能使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter通用SDK插件aiactiv_universal_sdk的功能使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
aiactiv_universal_sdk
是一个通用的 Flutter SDK 插件,通常用于集成各种功能或服务到 Flutter 应用中。虽然具体的功能可能因插件的版本或用途而有所不同,但一般来说,这类插件可能包括以下功能:
1. 初始化 SDK
在使用 SDK 之前,通常需要初始化它。初始化过程可能包括设置 API 密钥、配置参数等。
import 'package:aiactiv_universal_sdk/aiactiv_universal_sdk.dart';
void main() {
AiactivUniversalSdk.initialize(apiKey: 'YOUR_API_KEY');
runApp(MyApp());
}
2. 用户管理
SDK 可能提供用户管理功能,如用户注册、登录、注销等。
AiactivUniversalSdk.registerUser(userId: '12345', email: 'user@example.com');
AiactivUniversalSdk.loginUser(userId: '12345');
AiactivUniversalSdk.logoutUser();
3. 事件跟踪
SDK 可能允许你跟踪用户行为或应用内事件,以便进行数据分析。
AiactivUniversalSdk.trackEvent(eventName: 'button_clicked', parameters: {'button_id': 'submit'});
4. 推送通知
如果 SDK 集成了推送通知功能,你可以使用它来发送或接收通知。
AiactivUniversalSdk.enablePushNotifications();
AiactivUniversalSdk.sendPushNotification(userId: '12345', message: 'Hello, World!');
5. 数据分析
SDK 可能提供数据分析功能,帮助你了解用户行为、应用性能等。
AiactivUniversalSdk.analyzeUserBehavior();
6. 广告集成
如果 SDK 支持广告集成,你可以使用它来显示广告或管理广告收入。
AiactivUniversalSdk.showAd(adType: 'banner');
7. 支付集成
SDK 可能集成了支付功能,允许用户在应用内进行购买或订阅。
AiactivUniversalSdk.initiatePayment(productId: 'product_123', amount: 9.99);
8. 社交分享
SDK 可能提供社交分享功能,允许用户将内容分享到社交媒体平台。
AiactivUniversalSdk.shareContent(platform: 'facebook', content: 'Check out this awesome app!');
9. 错误报告
SDK 可能集成了错误报告功能,帮助开发者捕获和分析应用中的错误。
AiactivUniversalSdk.reportError(error: 'An error occurred', stackTrace: '...');
10. 自定义配置
SDK 可能允许你根据应用的需求进行自定义配置。
AiactivUniversalSdk.configure(config: {'logLevel': 'verbose', 'enableAnalytics': true});
11. SDK 生命周期管理
你可能需要管理 SDK 的生命周期,如在应用启动或关闭时进行特定的操作。
[@override](/user/override)
void dispose() {
AiactivUniversalSdk.cleanup();
super.dispose();
}
12. 权限管理
SDK 可能提供权限管理功能,帮助你在应用中请求和管理用户权限。
AiactivUniversalSdk.requestPermission(permission: 'location');
13. 多平台支持
SDK 可能支持多平台(如 iOS 和 Android),并提供了统一的 API 来简化开发。
AiactivUniversalSdk.platformVersion().then((version) {
print('Running on $version');
});
14. 日志记录
SDK 可能提供日志记录功能,帮助你在开发和调试过程中记录重要信息。
AiactivUniversalSdk.log(message: 'User logged in', level: 'info');
15. 远程配置
SDK 可能支持远程配置,允许你通过远程服务器动态调整应用的配置。
AiactivUniversalSdk.fetchRemoteConfig().then((config) {
print('Remote config: $config');
});
16. 数据存储
SDK 可能提供数据存储功能,允许你在本地或远程存储用户数据。
AiactivUniversalSdk.storeData(key: 'user_preferences', value: {'theme': 'dark'});
17. 网络请求
SDK 可能封装了网络请求功能,简化 HTTP 请求的发送和响应处理。
AiactivUniversalSdk.sendRequest(url: 'https://api.example.com/data', method: 'GET').then((response) {
print('Response: $response');
});
18. UI 组件
SDK 可能提供了一些可重用的 UI 组件,帮助你在应用中快速构建界面。
AiactivUniversalSdk.showCustomDialog(title: 'Alert', message: 'This is a custom dialog');
19. 插件扩展
SDK 可能支持插件扩展,允许你根据需要添加额外的功能模块。
AiactivUniversalSdk.addPlugin(plugin: 'custom_plugin');
20. 调试工具
SDK 可能提供调试工具,帮助你在开发过程中调试和优化应用。
AiactivUniversalSdk.enableDebugMode(enable: true);