mPaaS SDK
mPaaS架构应用如何使用SDK采集数据

Android端

将SDK中的aar文件拷贝到portalbundle工程的libs文件夹中,portalimplementationbundlecompileOnly
1
portal:implementation fileTree(dir: 'libs', include: ['*.aar'])
2
bundle:compileOnly fileTree(dir: 'libs', include: ['*.aar'])
Copied!
mPaaS SDK 依赖于 AnalysysAgent ,这个版本号其实是指的 AnalysysAgent 版本需要4.5.4及以上版本
portal工程中添加provider
1
<provider
2
android:name="com.analysys.database.AnsContentProvider"
3
android:authorities="[应用包名].AnsContentProvider"
4
android:enabled="true"
5
android:exported="false"
6
tools:replace="android:authorities"/>
Copied!
将全埋点插件添加到portalbundle工程中
1
项目根build.gradle:
2
dependencies {
3
...
4
classpath 'cn.com.analysys:analysys-allgro-plugin:1.1.2'
5
}
6
7
项目模块build.gradle:
8
apply plugin: 'com.analysys.android.plugin'
Copied!
LauncherActivityAgentpreInit函数中初始化方舟sdk
1
@Override
2
public void preInit() {
3
super.preInit();
4
5
// 初始化方舟sdk
6
initAnalysys();
7
8
// 如果使用了H5容器,需要调用此接口初始化Hybrid相关功能
9
AnalysysMpaas.init();
10
}
11
12
public static final int DEBUG_MODE = 2;
13
public static final String APP_KEY = "heatmaptest0916";
14
public static final String UPLOAD_URL = "http://192.168.220.105:8089";
15
private static final String SOCKET_URL = "ws://192.168.220.105:9091";
16
private static final String CONFIG_URL = "http://192.168.220.105:8089";
17
18
private void initAnalysys() {
19
Context ctx = getApplicationContext();
20
AnalysysAgent.setDebugMode(ctx, DEBUG_MODE);
21
// 设置 debug 模式,值:0、1、2
22
AnalysysConfig config = new AnalysysConfig();
23
// 设置key(目前使用电商demo的key)
24
config.setAppKey(APP_KEY);
25
// 设置渠道
26
config.setChannel("AnalysysDemo");
27
// 设置追踪新用户的首次属性
28
config.setAutoProfile(true);
29
// 设置使用AES加密
30
config.setEncryptType(EncryptEnum.AES);
31
// 设置服务器时间校验
32
config.setAllowTimeCheck(true);
33
// 时间最大允许偏差为5分钟
34
config.setMaxDiffTimeInterval(5 * 60);
35
// 开启渠道归因
36
config.setAutoInstallation(true);
37
// 热图数据采集(默认关闭)
38
config.setAutoHeatMap(true);
39
// pageView自动上报总开关(默认开启)
40
config.setAutoTrackPageView(true);
41
// fragment-pageView自动上报开关(默认关闭)
42
config.setAutoTrackFragmentPageView(true);
43
// 点击自动上报开关(默认关闭)
44
config.setAutoTrackClick(true);
45
46
config.setAutoTrackCrash(true);
47
48
config.setAutoTrackDeviceId(true);
49
// 初始化
50
AnalysysAgent.init(ctx, config);
51
AnalysysAgent.setUploadNetworkType(AnalysysAgent.AnalysysNetworkType.AnalysysNetworkWIFI);
52
// 设置数据上传/更新地址
53
AnalysysAgent.setUploadURL(ctx, UPLOAD_URL);
54
// 设置 WebSocket 连接 Url
55
AnalysysAgent.setVisitorDebugURL(ctx, SOCKET_URL);
56
// 设置配置下发Url
57
AnalysysAgent.setVisitorConfigURL(ctx, CONFIG_URL);
58
}
Copied!

iOS端

在项目工程Podfile(示例配置如下)所在目录下pod install,安装ANSMpaasPlugin
1
source "https://code.aliyun.com/mpaas-public/podspecs.git"
2
source 'https://github.com/CocoaPods/Specs.git'
3
source 'https://github.com/analysys/ANSMpaasPlugin.git'
4
5
mPaaS_baseline '10.1.68' # 请将 x.x.x 替换成真实基线版本
6
mPaaS_version_code 22 # This line is maintained by MPaaS plugin automatically. Please don't modify.
7
platform :ios, '9.0'
8
9
target 'ANSMpaasPlugin_Example' do
10
11
remove_pod "mPaaS_MBProgressHud"
12
13
mPaaS_pod 'mPaaS_Nebula'
14
pod 'ANSMpaasPlugin'
15
pod 'AnalysysAgent'
16
end
Copied!
mPaaS SDK 依赖于 AnalysysAgent ,这个版本号其实是指的 AnalysysAgent 版本需要4.5.4及以上版本
DTFrameworkInterface分类(例如:DTFrameworkInterface+ANSMpaasPlugin_Example)中导入mPaaS SDK 及 iOS SDK
1
#import <AnalysysAgent/AnalysysAgent.h>
2
#import <ANSMpaasPlugin/AnalysysJsApi4EventList.h>
3
#import <ANSMpaasPlugin/AnalysysJsApi4Hybird.h>
4
#import <ANSMpaasPlugin/AnalysysJsApi4Property.h>
5
#import <ANSMpaasPlugin/AnalysysJsApi4Track.h>
6
7
@implementation DTFrameworkInterface (ANSMpaasPlugin_Example)
8
...
9
10
- (BOOL)shouldLogReportActive
11
{
12
return YES;
13
}
14
15
- (NSTimeInterval)logReportActiveMinInterval
16
{
17
return 1800;
18
}
19
20
- (BOOL)shouldLogStartupConsumption
21
{
22
return YES;
23
}
24
25
...
26
27
@end
Copied!
DTFrameworkInterface分类(例如:DTFrameworkInterface+ANSMpaasPlugin_Example)中 application:beforeDidFinishLaunchingWithOptions:方法内加载自定义插件配置
1
NSBundle *bundle = [NSBundle bundleForClass:[AnalysysJsApi4EventList class]];
2
NSString *pluginsJsapisPath = [bundle pathForResource:@"AnalysysWKWebPlugins.bundle/AnalysysWKWebConfig.plist" ofType:nil];
3
[MPNebulaAdapterInterface initNebulaWithCustomPresetApplistPath:presetApplistPath customPresetAppPackagePath:appPackagePath customPluginsJsapisPath:pluginsJsapisPath];
Copied!
DTFrameworkInterface分类(例如:DTFrameworkInterface+ANSMpaasPlugin_Example)中 application:afterDidFinishLaunchingWithOptions:方法内初始化AnalysysAgent
1
// 部分设置在SDK初始化前设置
2
[AnalysysAgent setAutomaticCollection:YES];
3
[AnalysysAgent setAutomaticHeatmap:YES];
4
[AnalysysAgent setAutoTrackClick:YES];
5
AnalysysConfig.appKey = @"heatmaptest0916";
6
AnalysysConfig.channel = @"App Store";
7
AnalysysConfig.autoProfile = YES;
8
AnalysysConfig.autoTrackCrash = NO;
9
AnalysysConfig.autoInstallation = YES;
10
AnalysysConfig.autoTrackDeviceId = YES;
11
AnalysysConfig.encryptType = AnalysysEncryptAESCBC128;
12
AnalysysConfig.allowTimeCheck = YES;
13
AnalysysConfig.maxDiffTimeInterval = 5 * 60;
14
[AnalysysAgent startWithConfig:AnalysysConfig];
15
#if DEBUG
16
[AnalysysAgent setDebugMode:AnalysysDebugButTrack];
17
#else
18
[AnalysysAgent setDebugMode:AnalysysDebugOff];
19
#endif
20
21
[AnalysysAgent setUploadURL:@"http://192.168.220.105:8089"];
22
23
#if DEBUG
24
[AnalysysAgent setVisitorDebugURL:@"ws://192.168.220.105:9091"];
25
#endif
26
[AnalysysAgent setVisitorConfigURL:@"http://192.168.220.105:8089"];
27
28
29
//H5容器配置
30
// 定制容器
31
[MPNebulaAdapterInterface shareInstance].nebulaVeiwControllerClass = [H5WebViewController class]; //设置H5容器基类
32
[MPNebulaAdapterInterface shareInstance].nebulaWebViewClass = [H5WKWebView class];
33
[MPNebulaAdapterInterface shareInstance].nebulaUserAgent = @"mPaaS/Portal";//设置H5容器UserAgent
34
[MPNebulaAdapterInterface shareInstance].nebulaUseWKArbitrary = YES; //开启 WKWebview
35
[MPNebulaAdapterInterface shareInstance].nebulaCommonResourceAppList = @[@"77777777"];// 设置全局资源包
36
[MPNebulaAdapterInterface shareInstance].nebulaNeedVerify = NO; // 关闭离线包验签,正式版本请开启验签
37
38
// 更新离线包
39
[[MPNebulaAdapterInterface shareInstance] requestAllNebulaApps:^(NSDictionary *data, NSError *error) {
40
NSLog(@"[mpaas] nebula rpc data :%@", data);
41
}];
Copied!

Web/H5端

根据JS SDK文档集成JS SDK。《JS SDK标准版》
集成JS mPaas通信模块SDK,为iOS端使用mPaas框架H5容器且使用Hybrid模式时,通过自定义 JSAPI方式进行JS SDK与iOS SDK之间通信。H5页面中需集成JS SDK与该插件。
Android端H5容器内H5页面无需集成该插件。
1
//1.同步集成
2
//将以下JS代码添加到接入JS SDK代码的上方。
3
//将AnalysysAgent_MPAAS.min.js文件访问地址替换到script标签中的src位置
4
<script type="text/javascript" src="/*设置为非ES6mPaas通信模块SDK实际存放地址*/"></script>
5
...
6
//集成JS SDK
7
8
//2.ES6集成
9
//如为自行下载SDK。将以下代码添加至集成JS SDK代码位置即可。
10
//将AnalysysAgent_MPAAS.es6.min.js文件存放地址替换到import后的引入文件地址
11
import '设置为ES6mPaas通信模块SDK实际存放地址'
12
...//其他SDK代码
13
//如为npm获取SDK。将以下代码添加至集成JS SDK代码位置即可
14
import 'ans-javascript-sdk/sdk/AnalysysAgent_MPAAS.es6.min.js'
15
16
//3.CommonJS 规范集成
17
//将以下代码添加至集成JS SDK代码位置上方即可
18
require('ans-javascript-sdk/sdk/AnalysysAgent_MPAAS.amd.min.js')
19
20
//4.AMD 规范集成(以 RequireJS 为例)
21
//获取AnalysysAgent_MPAAS.amd.min.js,
22
//假设该文件放到与 require.js 同一目录中将以下代码添加至集成JS SDK代码位置上方即可
23
requirejs('./AnalysysAgent_MPAAS.amd.min.js')
Copied!
mPaaS SDK 依赖于 AnalysysAgent ,这个版本号其实是指的 AnalysysAgent 版本需要4.5.4及以上版本
最近更新 1yr ago
复制链接