1. MTA广告效果监测SDK集成说明
要使用MTA广告效果监测与分析,您需要先在APP中集成MTA的SDK,集成步骤如下:
集成MTA的基础SDK(Android快速集成入口 | iOS快速集成入口),如果您已集成过MTA的基础SDK,可跳过该步骤
集成广告监测模块(Android集成代码 | iOS集成代码),并上报广告监测标准事件
根据您的推广目标(广告跳转的下一页)以及推广的应用所在iOS/Android平台不同,可参考不同使用说明:
- 若您的推广目标为应用下载,即直接下载应用或跳转到应用商店,请参考操作说明
- 若您的推广目标是H5页面(简称“落地页”),最终通过落地页下载应用统计:
- 若只推广Android, 请参考 操作说明
- 若只推广iOS,请参考 iOS集成配置
- 若落地页同时推广Android和iOS(如微信内、分享、地推、二维码等各场景推广),请参考 落地页多渠道多平台配置
1.1. Android SDK 广告监测模块集成指南
1.1.1. 接口调用
开启TLink功能
首先需要在APP的入口处,一般为 Application 或 MainActivity 的 onCreate() 调用以下接口开启TLink功能
StatConfig.setTLinkStatus(true);
注册事件
通过上报注册事件,您可以统计到每一次投放的注册转换率等标准监测指标,也能向渠道回传以获得广告投放优化
接口说明:
StatService.trackRegAccountEvent(Context context,String user ,AccountType type);
参数说明:
参数名 | 是否必要 | 参数描述 |
---|---|---|
context | 是 | 当前上下文 |
user | 是 | 用户名,最多64个字符 |
type | 是 | 目前支持手机号("mobile")、邮箱("mail")、微信ID("wx")、QQ号("qq").如:StatConfig.AccountType.WX |
付费事件
通过上报付费事件,您可以统计到每一次投放的LTV值从而衡量您的投资回报率
接口说明:
StatService.trackPayEvent(Context context, String cy, String id, double money, CurrencyType type);
参数说明:
参数名 | 是否必要 | 参数描述 |
---|---|---|
context | 是 | 当前上下文 |
cy | 是 | 支付方式(最多64个字符).如("wx"、"Alipay")等 |
id | 是 | 订单号等(最多64个字符).如("88888999955542")等 |
money | 是 | 金额.如(88.8) |
type | 是 | 目前支持两种:CNY人民币("CNY")、USD美金("USD")。如StatConfig.CurrencyType.CNY |
其他自定义事件
若您希望上报其他自定义的用户行为,您可以参考MTA自定义事件: 自定义事件介绍 | Android接口 | iOS接口
1.2. iOS SDK广告监测模块集成指南
1.2.1. 工程配置
引入adtracker文件夹下的.a文件和头文件到Xcode工程之中。
1.2.2. 接口调用
激活后的活跃事件的上报, 请在主线程中调用
注册事件 通过上报付费事件,您可以统计到每一次投放的注册转换率等标准监测指标,也能向渠道回传以获得广告投放优化
接口说明:
- (void)trackRegAccountEvent:(MTAADAccountType)accountType account:(NSString *)account;
参数说明:
参数名 | 是否必要 | 参数描述 |
---|---|---|
accountType | 是 | 账号类型 |
account | 是 | 具体的账号 |
付费事件 通过上报付费事件,您可以统计到每一次投放的注册转换率等标准监测指标,也能向渠道回传以获得广告投放优化
接口说明:
- (void)trackUserPayEvent:(MTAADPayMoneyType)moneyType orderID:(NSString *)orderID
payNum:(double)payNum
payType:(NSString *)payType;
参数说明:
参数名 | 是否必要 | 参数描述 |
---|---|---|
moneyType | 是 | 货币种类,支持两种:人民币、美金 |
orderID | 是 | 订单ID, 或交易流水号 |
payNum | 是 | 订单金额 |
payType | 是 | 支付类型,如微信、支付宝、银联等 |
其他自定义事件
若您希望上报其他自定义的用户行为,您可以参考MTA自定义事件: 自定义事件介绍 | Android接口 | iOS接口
1.3. iOS JS SDK配置
1.3.1. 工程配置
JS SDK的接入可以提高监测的准确率。
URL Scheme配置
XCode中的URL Types中增加一条URL Scheme配置,Role是Viewer。URL Schemes的配置后续在JS SDK的初始化会用到。
下载页面的修改
请参考MTA管理台中关于JS SDK的说明
备注
因为用到了keychain,如果遇到相关编译不过的问题,请在项目中引用Security.framework
1.3.2. 接口调用
JS SDK方案需要调用的API
1.AppDelegate中的改动,在MTA的初始化之后增加[ADTracker getInstance]
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[[MTAConfig getInstance] setSmartReporting:YES];
[[MTAConfig getInstance] setReportStrategy:MTA_STRATEGY_INSTANT];
[[MTAConfig getInstance] setDebugEnable:YES];
[MTA startWithAppkey:@"I2E3KXDU1E2W"];
[ADTracker getInstance];
return YES;
}
2.在handleOpenURL中增加调用
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
[[ADTracker getInstance] handleOpenURL:url];
return true;
}
3.在App进入的第一个ViewController的修改,viewDidLoad中添加以下代码
- (void)viewDidLoad {
[super viewDidLoad];
[[ADTracker getInstance] startByViewDidload];
}
4.单独接入JS SDK,需要设置下载页的URL,didFinishLaunchingWithOptions的初始化修改如下
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[[MTAConfig getInstance] setSmartReporting:YES];
[[MTAConfig getInstance] setReportStrategy:MTA_STRATEGY_INSTANT];
[[MTAConfig getInstance] setDebugEnable:YES];
[MTA startWithAppkey:@"I2E3KXDU1E2W"];
[[ADTracker getInstance] setChannelUrl:@"http://domain.com/test/download.html"];
return YES;
}
5.备注
注意 http://domain.com/test/download.html 这代表着你投放的网址可能是
http://domain.com/test/download.html?ADTAG=youradtag ;
请替换 http://domain.com/test/download.html 为实际的中间页地址。
JS SDK的使用参考MTA管理台相关页面。
1.3.3. 落地页JS配置
以下为嵌入落地页的js sdk格式,必须填写替换参数:
$download_btn_id: 下载按钮的id
$app_key: mta管理台中iOS 的APP KEY
$URL_Scheme: ios app的URL Scheme
<script>
var _mta_btn_id = '$download_btn_id';
(function() {
var mta = document.createElement("script");
mta.src = "//pingjs.qq.com/h5/ad_stats.js?v1";
mta.setAttribute("name", "MTA_CHANNEL");
mta.setAttribute("app_key", "$app_key");
mta.setAttribute("app_flag", "$URL_Scheme");
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(mta, s);
})();
</script>
使用示例:
<a id="download_app">下载应用</a>
<script>
var _mta_btn_id = 'download_app';
(function() {
var mta = document.createElement("script");
mta.src = "//pingjs.qq.com/h5/ad_stats.js?v1";
mta.setAttribute("name", "MTA_CHANNEL");
mta.setAttribute("app_key", "IB7ZRJ6V8S1T");
mta.setAttribute("app_flag", "mtaApp");
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(mta, s);
})();
</script>
1.4. 落地页多渠道多平台配置
若您需要在微信、朋友圈、二维码、短信等场景下进行推广,且推广目标地址为H5的活动页面,可以使用以下方案:
进入您的应用管理台,分别在iOS和Android平台中,进入推广管理->推广单元->新建推广单元,
1.4.1. 在iOS平台中执行以下操作:
1.4.2. 在Android平台中执行以下操作:
1.4.3. 在落地页代码中嵌入MTA的JS代码
在落地页(活动页面)嵌入JS SDK时,可以在代码中根据当前访问页面的设备系统(参考HTTP Useragent)将$adtag设置成您在MTA获得的TLink中的后缀ADTAG值,同时将$app_key也设置成在MTA中获得的不同平台的Appkey即可。 以下为嵌入落地页的js sdk格式,必须填写替换参数:
$adtag: 推广单元的唯一标识 (上面截图中描述的iOS或Android平台的ADTAG)
$download_btn_id: 下载按钮的id
$app_key: mta管理台中iOS或Android平台 的APP KEY
$URL_Scheme: ios app的URL Scheme (仅在iOS情况下需要)
<script>
var _mta_btn_id = '$download_btn_id';
var _mta_adtag = '$adtag';
(function() {
var mta = document.createElement("script");
mta.src = "//pingjs.qq.com/h5/ad_stats.js?v1";
mta.setAttribute("name", "MTA_CHANNEL");
mta.setAttribute("app_key", "$app_key");
mta.setAttribute("app_flag", "$URL_Scheme"); (Android不需要该行)
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(mta, s);
})();
</script>
在落地页(活动页面)嵌入JS SDK时,可以在代码中根据当前访问页面的设备系统(参考HTTP Useragent)将$adtag设置成您在MTA获得的TLink中的后缀ADTAG值,同时将$app_key也设置成在MTA中获得的不同平台的Appkey即可。
使用示例:
在MTA管理台Android和iOS中各配置两个推广单元,得到点击链接如下: iOS: http://xxxxx.com?ADTAG=mmmmm&mta_action=impression Android: http://sl.mta.qq.com/monitor/nnnnn?action=impression 其中iOS的Appkey为AAAAAAAA,Android的Appkey为BBBBBBB(见管理台->配置管理->应用信息页面)
在活动页面代码中判断: 1)若当前设备为iOS,将$adtag设置成mmmmm,同时$app_key设置为AAAAAAAA; 2)若当前设备为Android, 将$adtag设置成nnnnn,同时$app_key设置为BBBBBBB。 3) 确保点击/曝光URL上带有mta_action=impression 或者 mta_action=exposure, impression 代表点击,exposure代码曝光
(如果需要多个链接跳转同一个落地页,同时每个链接都需要统计Android和iOS,则可以在跳转至落地页前将ADTAG附在URL的参数中)