方舟智能分析
产品功能SDK指南API
  • 产品简介
  • 快速上手
    • Step 1 安装部署
    • Step 2 激活系统创建项目
    • Step 3 开启您的分析旅程
      • 1. 集成 SDK
      • 2. 可视化埋点
      • 3. 创建分析模型
    • 附:埋点方案设计
    • 附:数据分析思路
  • 产品更新日志
    • V5.3.3 UI 升级、分布分析重构、维度表动态更新、细节优化等
    • V5.2.0 新增归因分析、消息中心、重构埋点方案、优化看数据体验……
    • V5.1.0317 体验优化& Bug修复
    • V5.1.0 升级可视化埋点、增强权限控制……
  • 我要反馈
  • 🐱Part I 产品功能说明
    • 名词解释
    • 指标说明
    • 看板
    • 分析
      • 事件分析
      • 渠道分析
        • 渠道相关名词解释
        • 来源识别规则
        • 搜索引擎
        • 社交媒体
        • 小程序场景值
        • Session 规则
      • Session 分析
      • 实时分析
      • 留存分析
      • 转化漏斗
      • 智能路径
      • 归因分析(Beta)
      • 热图分析
        • Web/H5 热图
        • APP 热图
      • 分布分析
      • 间隔分析
      • 属性分析
      • 自定义查询
    • 用户
      • 用户探查
      • 用户分群
      • 用户标签
        • 标签体系
        • 标签加工
          • 如何自定义SQL创建标签
        • 标签生命周期管理
        • 标签体系应用概览
      • 单用户档案
    • 运营
      • 电子邮件
      • 短信
      • 消息通知
      • 广告跟踪
      • App 推广监测(Beta)
    • 项目管理
      • 项目概览
      • 项目角色管理
      • 项目成员管理
      • 数据接入管理
        • 埋点方案
        • 可视化埋点
        • 集成SDK接入数据
        • 数据验证
        • 用户数据导入
      • 元数据管理
        • 元事件
        • 虚拟事件
        • 事件属性
        • 用户属性
        • Session 管理
        • 页面组管理
        • 维度表
      • 服务集成配置
      • 监控告警
        • 智能监控
        • 自定义监控
    • 平台管理
      • 企业概览
      • 项目管理
      • 成员管理
      • 安全设置
      • 企业设置
      • 日志管理
      • 帐号设置
  • 🐵Part II 技术文档
    • 技术接入准备工作
      • 部署环境检测工具
      • 数据模型
      • 数据格式
      • 预置事件和属性
        • App预置事件/属性
        • JS 预置事件/属性
      • 如何准确识别用户
      • 如何设计埋点方案
      • 分平台上报数据 vs 跨平台打通
    • SDK 指南
      • Android SDK
        • 快速集成
        • 全埋点模块
        • 消息推送模块
        • Android Hybrid模式
        • SDK Gradle集成方式
        • 多渠道打包
        • 易观小工具
        • 合规相关
      • iOS SDK
        • 快速集成
        • 全埋点介绍
        • iOS Hybrid模式
        • 消息推送模块
      • JS SDK
        • 快速集成
        • JS SDK基础版
        • JS SDK插件
      • 微信小程序 SDK
        • 快速集成
        • 微信小程序标准版
        • 微信小程序插件版
        • 微信小程序通用框架版
      • 支付宝小程序 SDK
        • 支付宝小程序标准版
        • 支付宝小程序通用框架版
      • 字节跳动小程序 SDK
        • 字节跳动小程序标准版
        • 字节跳动小程序通用框架版
      • 百度小程序 SDK
        • 百度小程序标准版
        • 百度小程序通用框架版
      • 钉钉小程序 SDK
        • 钉钉小程序标准版
        • 钉钉小程序通用框架版
      • QQ小程序 SDK
        • QQ小程序标准版
        • QQ小程序通用框架版
      • 快应用 SDK
      • 华为WeCode小程序
        • WeCode SDK 标准版
        • WeCode SDK插件
      • PhoneGap SDK
      • mPaaS SDK
      • ReactNative SDK
      • Flutter SDK
      • Java SDK
      • Python SDK
      • PHP SDK
      • C++ SDK
      • C# SDK
      • Node JS SDK
      • Lua SDK
      • Golang SDK
      • SDK FAQ
        • identify与alias的区别
        • 爬虫数据如何识别?
        • 页面停留如何获取时间?
        • 如果获取SDK及更新日志
        • 代码埋点和无埋点有什么区别
        • Web页面中发现丢失某一个事件
        • 自研 SDK 注意事项
        • 页面时长统计功能
    • 数据验证
      • 客户端埋点验证
      • Debug 数据验证
      • 数据入库验证
    • 数据导入
      • 接口导入
      • JAVA工具包
        • 标准json文件导入
        • csv格式导入
      • 数据导入FAQ
    • 数据导出
      • JAVA工具包
        • 事件数据导出
        • 用户数据导出
      • 直接从Kafka中消费数据
      • 使用程序访问数据库
    • 脚本工具
    • API
      • 分析API
        • 事件分析
        • 留存分析
        • 转化漏斗
        • 属性分析
        • Session分析
        • 渠道分析
        • 分布分析
        • 自定义查询
      • 用户API
        • 分群查询
        • 用户档案
        • 分群管理
      • 管理API
        • 权限管理
        • 元数据管理
        • 埋点方案管理
        • 维度表管理
      • 运营API
        • 广告跟踪
      • 平台管理API
        • 项目管理
        • 成员管理
    • 第三方登录
      • OAuth2.0登录
      • LDAP登录
    • GDPR 合规
  • �� Part III 常见问题
    • License 许可
    • 产品试用及采购
    • 参与贡献
由 GitBook 提供支持
在本页
  • Android端
  • iOS端
  • Web/H5端

这有帮助吗?

  1. Part II 技术文档
  2. SDK 指南

mPaaS SDK

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

Android端

将SDK中的aar文件拷贝到portal和bundle工程的libs文件夹中,portal为implementation,bundle为compileOnly

portal:implementation fileTree(dir: 'libs', include: ['*.aar'])
bundle:compileOnly fileTree(dir: 'libs', include: ['*.aar'])

mPaaS SDK 依赖于 AnalysysAgent ,这个版本号其实是指的 AnalysysAgent 版本需要4.5.4及以上版本

在portal工程中添加provider

<provider
    android:name="com.analysys.database.AnsContentProvider"
    android:authorities="[应用包名].AnsContentProvider"
    android:enabled="true"
    android:exported="false"
    tools:replace="android:authorities"/>

将全埋点插件添加到portal和bundle工程中

项目根build.gradle:
dependencies {
        ...
        classpath 'cn.com.analysys:analysys-allgro-plugin:1.1.2'
 }
 
项目模块build.gradle:
apply plugin: 'com.analysys.android.plugin'

在 LauncherActivityAgent 的preInit函数中初始化方舟sdk

@Override
public void preInit() {
    super.preInit();

    // 初始化方舟sdk
    initAnalysys();

    // 如果使用了H5容器,需要调用此接口初始化Hybrid相关功能
    AnalysysMpaas.init();
}

public static final int DEBUG_MODE = 2;
public static final String APP_KEY = "heatmaptest0916";
public static final String UPLOAD_URL = "http://192.168.220.105:8089";
private static final String SOCKET_URL = "ws://192.168.220.105:9091";
private static final String CONFIG_URL = "http://192.168.220.105:8089";

private void initAnalysys() {
    Context ctx = getApplicationContext();
    AnalysysAgent.setDebugMode(ctx, DEBUG_MODE);
    //  设置 debug 模式,值:0、1、2
    AnalysysConfig config = new AnalysysConfig();
    // 设置key(目前使用电商demo的key)
    config.setAppKey(APP_KEY);
    // 设置渠道
    config.setChannel("AnalysysDemo");
    // 设置追踪新用户的首次属性
    config.setAutoProfile(true);
    // 设置使用AES加密
    config.setEncryptType(EncryptEnum.AES);
    // 设置服务器时间校验
    config.setAllowTimeCheck(true);
    // 时间最大允许偏差为5分钟
    config.setMaxDiffTimeInterval(5 * 60);
    // 开启渠道归因
    config.setAutoInstallation(true);
    // 热图数据采集(默认关闭)
    config.setAutoHeatMap(true);
    // pageView自动上报总开关(默认开启)
    config.setAutoTrackPageView(true);
    // fragment-pageView自动上报开关(默认关闭)
    config.setAutoTrackFragmentPageView(true);
    // 点击自动上报开关(默认关闭)
    config.setAutoTrackClick(true);

    config.setAutoTrackCrash(true);

    config.setAutoTrackDeviceId(true);
    // 初始化
    AnalysysAgent.init(ctx, config);
    AnalysysAgent.setUploadNetworkType(AnalysysAgent.AnalysysNetworkType.AnalysysNetworkWIFI);
    // 设置数据上传/更新地址
    AnalysysAgent.setUploadURL(ctx, UPLOAD_URL);
    // 设置 WebSocket 连接 Url
    AnalysysAgent.setVisitorDebugURL(ctx, SOCKET_URL);
    // 设置配置下发Url
    AnalysysAgent.setVisitorConfigURL(ctx, CONFIG_URL);
}

iOS端

在项目工程Podfile(示例配置如下)所在目录下pod install,安装ANSMpaasPlugin

source "https://code.aliyun.com/mpaas-public/podspecs.git"
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/analysys/ANSMpaasPlugin.git'
 
mPaaS_baseline '10.1.68'  # 请将 x.x.x 替换成真实基线版本
mPaaS_version_code 22   # This line is maintained by MPaaS plugin automatically. Please don't modify.
platform :ios, '9.0'
 
target 'ANSMpaasPlugin_Example' do
   
  remove_pod "mPaaS_MBProgressHud"
   
  mPaaS_pod 'mPaaS_Nebula'
  pod 'ANSMpaasPlugin'
  pod 'AnalysysAgent'
end

mPaaS SDK 依赖于 AnalysysAgent ,这个版本号其实是指的 AnalysysAgent 版本需要4.5.4及以上版本

在DTFrameworkInterface分类(例如:DTFrameworkInterface+ANSMpaasPlugin_Example)中导入mPaaS SDK 及 iOS SDK

#import <AnalysysAgent/AnalysysAgent.h>
#import <ANSMpaasPlugin/AnalysysJsApi4EventList.h>
#import <ANSMpaasPlugin/AnalysysJsApi4Hybird.h>
#import <ANSMpaasPlugin/AnalysysJsApi4Property.h>
#import <ANSMpaasPlugin/AnalysysJsApi4Track.h>

@implementation DTFrameworkInterface (ANSMpaasPlugin_Example)
...

- (BOOL)shouldLogReportActive
{
    return YES;
}

- (NSTimeInterval)logReportActiveMinInterval
{
    return 1800;
}

- (BOOL)shouldLogStartupConsumption
{
    return YES;
}

...

@end

在DTFrameworkInterface分类(例如:DTFrameworkInterface+ANSMpaasPlugin_Example)中 application:beforeDidFinishLaunchingWithOptions:方法内加载自定义插件配置

NSBundle *bundle = [NSBundle bundleForClass:[AnalysysJsApi4EventList class]];
NSString *pluginsJsapisPath = [bundle pathForResource:@"AnalysysWKWebPlugins.bundle/AnalysysWKWebConfig.plist" ofType:nil];
[MPNebulaAdapterInterface initNebulaWithCustomPresetApplistPath:presetApplistPath customPresetAppPackagePath:appPackagePath customPluginsJsapisPath:pluginsJsapisPath];

在DTFrameworkInterface分类(例如:DTFrameworkInterface+ANSMpaasPlugin_Example)中 application:afterDidFinishLaunchingWithOptions:方法内初始化AnalysysAgent

//  部分设置在SDK初始化前设置
[AnalysysAgent setAutomaticCollection:YES];
[AnalysysAgent setAutomaticHeatmap:YES];
[AnalysysAgent setAutoTrackClick:YES];
AnalysysConfig.appKey = @"heatmaptest0916";
AnalysysConfig.channel = @"App Store";
AnalysysConfig.autoProfile = YES;
AnalysysConfig.autoTrackCrash = NO;
AnalysysConfig.autoInstallation = YES;
AnalysysConfig.autoTrackDeviceId = YES;
AnalysysConfig.encryptType = AnalysysEncryptAESCBC128;
AnalysysConfig.allowTimeCheck = YES;
AnalysysConfig.maxDiffTimeInterval = 5 * 60;
[AnalysysAgent startWithConfig:AnalysysConfig];
#if DEBUG
    [AnalysysAgent setDebugMode:AnalysysDebugButTrack];
#else
    [AnalysysAgent setDebugMode:AnalysysDebugOff];
#endif
     
    [AnalysysAgent setUploadURL:@"http://192.168.220.105:8089"];
     
#if DEBUG
    [AnalysysAgent setVisitorDebugURL:@"ws://192.168.220.105:9091"];
#endif
    [AnalysysAgent setVisitorConfigURL:@"http://192.168.220.105:8089"];
 
 
//H5容器配置
// 定制容器
    [MPNebulaAdapterInterface shareInstance].nebulaVeiwControllerClass = [H5WebViewController class]; //设置H5容器基类
    [MPNebulaAdapterInterface shareInstance].nebulaWebViewClass = [H5WKWebView class];
    [MPNebulaAdapterInterface shareInstance].nebulaUserAgent = @"mPaaS/Portal";//设置H5容器UserAgent
    [MPNebulaAdapterInterface shareInstance].nebulaUseWKArbitrary = YES; //开启 WKWebview
    [MPNebulaAdapterInterface shareInstance].nebulaCommonResourceAppList = @[@"77777777"];// 设置全局资源包
    [MPNebulaAdapterInterface shareInstance].nebulaNeedVerify = NO; // 关闭离线包验签,正式版本请开启验签
     
    // 更新离线包
    [[MPNebulaAdapterInterface shareInstance] requestAllNebulaApps:^(NSDictionary *data, NSError *error) {
        NSLog(@"[mpaas] nebula rpc data :%@", data);
    }];

Web/H5端

集成JS mPaas通信模块SDK,为iOS端使用mPaas框架H5容器且使用Hybrid模式时,通过自定义 JSAPI方式进行JS SDK与iOS SDK之间通信。H5页面中需集成JS SDK与该插件。

Android端H5容器内H5页面无需集成该插件。

//1.同步集成
//将以下JS代码添加到接入JS SDK代码的上方。
//将AnalysysAgent_MPAAS.min.js文件访问地址替换到script标签中的src位置
<script type="text/javascript" src="/*设置为非ES6mPaas通信模块SDK实际存放地址*/"></script>
...
//集成JS SDK

//2.ES6集成
//如为自行下载SDK。将以下代码添加至集成JS SDK代码位置即可。
//将AnalysysAgent_MPAAS.es6.min.js文件存放地址替换到import后的引入文件地址
import '设置为ES6mPaas通信模块SDK实际存放地址'
...//其他SDK代码
//如为npm获取SDK。将以下代码添加至集成JS SDK代码位置即可
import 'ans-javascript-sdk/sdk/AnalysysAgent_MPAAS.es6.min.js'

//3.CommonJS 规范集成
//将以下代码添加至集成JS SDK代码位置上方即可
require('ans-javascript-sdk/sdk/AnalysysAgent_MPAAS.amd.min.js')

//4.AMD 规范集成(以 RequireJS 为例)
//获取AnalysysAgent_MPAAS.amd.min.js,
//假设该文件放到与 require.js 同一目录中将以下代码添加至集成JS SDK代码位置上方即可
requirejs('./AnalysysAgent_MPAAS.amd.min.js')

mPaaS SDK 依赖于 AnalysysAgent ,这个版本号其实是指的 AnalysysAgent 版本需要4.5.4及以上版本

上一页PhoneGap SDK下一页ReactNative SDK

最后更新于4年前

这有帮助吗?

根据JS SDK文档集成JS SDK。

🐵
《JS SDK标准版》