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()方法并传入两个参数:nameproperties

  • 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

1 回复

更多关于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);
回到顶部