目录
- 1. 背景
- 2. 规范适用对象说明
- 3. 合作流程与接口使用规范
- 4. 接口详细文档
- 5.客户端调用方法
1. 背景
本规范旨在为合作方的应用访问一点资讯个性化内容服务提供统一的 HTTP 接口调用和交互规范。
2. 规范适用对象说明
本规范适用于由服务端发起调用请求、返回频道内容列表的接口。
3. 合作流程与接口使用规范
3.1 合作流程
- 在一点资讯开放平台(developer.yidianzixun.com)注册、认证,并在申请应用时选择服务类型为“个性化推荐 API”,经平台审核通过后,可以获取到接口访问所需的验证信息。
- 合作方参考此文档的说明,试用测试接口。接口需要访问的频道列表、正文页定制要求,可以在【管理中心】-【应用详情】-【应用设置】中进行配置。
- 数据上报。为了做到更好的个性化,推荐系统需要实时获取到资讯和广告的用户行为日志。其中资讯日志由一点资讯前端上报,广告日志限于行业规范要求,必须由开发者在自己的客户端/前端上报。
- 发布测试版本(无真实广告),由开发者自行测试(可以联系一点客服提供辅助测试工具)。完成后将测试版应用交付给一点资讯,由一点资讯测试团队验证无误后,在正式环境中打开广告开关。
- 发布正式版本。
3.2 接口使用规范
- 本文档中的所有接口,合作方都需要按照文档中规定的用途使用,文档中有不明确的,需要与一点资讯协商,补充到文档中。若合作方使用接口有不合理之处,一点资讯可以要求合作方改正使用方式。
- 本文档中提到的所有接口,合作方只能在当前合作的产品中使用,不得通过任何形式提供给其他产品或第三方使用。如有需求可以再同一点资讯沟通协商。
- 接口的密钥 appkey,不在文档中给出,在开发者的应用审核通过后,可在【管理中心】-【应用详情】中获取密钥,合作方需要防止密钥的泄漏。
4. 接口详细文档
4.1 接口列表
接口列表 | |||
地址 | 线上地址根目录 | 参见开放平台【管理中心】-【应用详情】中给出的正式链接 | |
测试地址根目录 | 将正式链接中的域名替换为open_test.go2yd.com | ||
接口 | 名称 | 地址 | 说明 |
新闻&广告列表 | /recommend_channel | 获取视频、新闻、图集和广告卡片列表 | |
广告日志 | /ads_log | 广告日志上报,用于统计广告曝光、点击、下载等信息,以计算广告收入 | |
负反馈 | /dislike_news | 文章负反馈(不喜欢) | |
获取频道列表接口 | /get_channel_list | 获取频道列表 |
认证参数
API 接口的参数由两部分组成认证参数和业务参数
- 认证参数用于进行权限的认证,是每个接口的公共参数,见下表。
- 业务参数用于每个接口实现各自的业务逻辑。
参数名 | 类型 | 描述 |
appid | string | 开发者创建应用成功后,在应用详情中获取到APPID。 |
timestamp | int | 时间戳,单位为秒。指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。时间戳要求为请求时的时间戳,与服务器时间相差不超过5分钟(服务器以与NTP服务器同步时间)。 |
nonce | string | 随机字符串,用来认证。 |
secretkey | string | 应用详情中获取到APPKEY,通过加密公示计算得到secretkey。加密公式:secretkey = sha1(md5(app_key) + nonce + timestamp) |
认证举例:
假设
timestamp=1563333151
nonce=K09kkd890MJH
app_key=LK7908KLMLlh1llhh0sdf1243
根据加密的规则:secretkey = sha1(md5(app_key) + nonce + timestamp)。
md5(app_key)后的值为:87f00f68e7d007764fe4b2dea73bc617,(md5后的字符串中字母都为小写,否则影响后续的结果)。
md5(app_key) + nonce + timestamp的值为:87f00f68e7d007764fe4b2dea73bc617K09kkd890MJH1563333151。
最终:secretkey=db214bad9e2994b3d20ab3256b7f96227329be11。
代码示例:
PHP
$timestamp = 1563333151;
$nonce = "K09kkd890MJH";
$app_key = "LK7908KLMLlh1llhh0sdf1243";
$secretkey = sha1(md5($app_key).$nonce.$timestamp);
echo $secretkey;
Java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import static sun.security.pkcs11.wrapper.Functions.toHexString;
public class Main {
public static void main(String[] args) {
int timestamp = 1563333151;
String nonce = "K09kkd890MJH";
String appKey = "LK7908KLMLlh1llhh0sdf1243";
String secretKey = SHA1(getMD5_32(appKey) + nonce + timestamp);
System.out.println(secretKey);
}
private static String getMD5_32(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
return toHexString(md.digest(input.getBytes()));
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return "";
}
}
private static String SHA1(String decript) {
try {
MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");
digest.update(decript.getBytes());
return toHexString(digest.digest());
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return "";
}
}
}
golang
import (
"crypto/md5"
"crypto/sha1"
"encoding/hex"
"fmt"
"strconv"
)
func main() {
timestamp := 1563333151;
nonce := "K09kkd890MJH";
appKey := "LK7908KLMLlh1llhh0sdf1243";
h := md5.New()
h.Write([]byte(appKey))
sha := sha1.New()
sha.Write([]byte( hex.EncodeToString(h.Sum(nil))+nonce+strconv.FormatInt(int64(timestamp), 10)))
fmt.Println(hex.EncodeToString(sha.Sum(nil)))
}
4.2 新闻&广告列表接口
用于获取个性化内容和广告的接口。
在使用广告测试工具时,需要在请求新闻广告列表的 url 上加上 self_test=true。
4.2.1 参数
4.2.1.1 参数说明
分组 | 参数名 | 类型 | 是否必须 | 描述 |
权限认证 | appid | string | 是 | 开发者创建应用成功后,在应用详情中获取到的APPID。 |
timestamp | int | 是 | 时间戳,单位为秒。指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。 | |
nonce | string | 是 | 随机字符串 | |
secretkey | string | 是 | 根据申请成功后的APPKEY,通过加密公示计算得到secretkey。加密公式:secretkey = sha1(md5(app_key) + nonce + timestamp) | |
用户标识 | 3rd_userid | string | 是 | 根据设备的唯一标识或第三方用户id(imei或idfa,如果是用其他id,请向一点资讯工作人员反馈)md5加密而成,最长不能超过32位字符。如 Android 10 以上版本取不到 imei,可用 oaId 的 md5 代替。 |
行为 | action | string | 是 | refresh或者page_down |
refresh | int | 是 | -3 非全屏展示:针对浏览器等,启动时资讯流内容在主界面非全屏展示的特殊产品形态,如需特别策略优化时传-3; 0 自动刷新:用户点击频道列表某个频道名时,客户端同时触发自动刷新;若想避免内容浪费,可以传0,此时出历史内容; 1 手动刷新:用户在某个频道内主动下拉或者点击刷新按钮时的手动刷新,此时出新内容; 若无定制需求,默认传 1。 |
|
channel | string | 是 | 频道信息,如推荐,视频。需要跟应用设置中的频道名一致 | |
count | int | 是 | 文章的数目 | |
history_count | int | 是 | 客户端当前该频道下的文章数目 | |
history_timestamp | int | 是 | 下拉时,顶部的文章的时间戳,单位为秒;上拉时,底部的文章的时间戳,单位为秒 | |
city | string | 否 | 当channel=本地时,需要传本地城市名称city,具体见本地频道说明 | |
其它 | version | string | 是 | 版本,六位数字组成,两位主版本+两位小版本+两位构建版本,固定为010000 |
net | string | 是 | 网络,取值范围是wifi,4g,3g,2g | |
platform | string | 是 | android,ios,web | |
客户端信息 | clientInfo | json string | 是 | 见下表 |
clientInfo 字段为请求广告的必要参数,使用 POST 放到 body 中传输,为 json 格式,其余字段拼接到 url 上传输。
{
"clientInfo": {
"userInfo": {
"mac": "10:10:10:10:10:10",
"imei": "102c78e5e4764285ac72096127c88eae",
"ip": "183.61.126.46",
"appVersion": "3.1.2",
"region": "北京市,北京市,海淀区",
"cityCode": "1",
"3rd_ad_version": "2.0"
},
"deviceInfo": {
"screenHeight": 1280,
"screenWidth": 720,
"device": "lcsh92_wet_tdd",
"androidVersion": "4.2.2",
"network": "wifi",
"osversion": "5.1.2",
"useragent": "Dalvik/2.1.0 (Linux; U; Android 8.0.0; MI 6 MIUI/V10.2.1.0.OCACNFK)"
}
}
}
分组 | 参数名 | 类型 | 是否必须 | 描述 |
userInfo(用户信息) | gender | int | 是 | 性别 0:未知;1:男;2:女 |
age | int | 是 | 年龄 | |
keywords | string | 否 | 关键词、兴趣等(逗号分隔) | |
mac | string | 是 | mac地址 | |
mac_md5 | string | 否 | Mac地址 md5加密值 | |
mac_sha1 | string | 否 | Mac地址 sha1加密值 | |
androidId | string | android必须 | 安卓设备 androidid,原值,非加密值 | |
androidId_md5 | string | 否 | 安卓设备androidid md5 加密值 | |
androidId_sha1 | string | 否 | 安卓设备androidid sha1 加密值 | |
imei | string | android必须 | imei原值,非加密值 | |
imei_md5 | string | 否 | imei MD5加密值 | |
imei_sha1 | string | 否 | imei sha1加密值 | |
oaId | string | 是 | Android OAID原始值,android 10以上版本必传 | |
oaId_md5 | string | 否 | Android OAID MD5加密值 | |
oaId_sha1 | string | 否 | Android OAID SHA1加密值 | |
idfa | string | ios必须 | idfa原值,非加密值 | |
idfa_md5 | string | 否 | iOS idfa md5 加密 | |
idfa_sha1 | string | 否 | iOS idfa sha1 加密 | |
ip | string | 是 | ipv4地址 | |
ipv6 | string | 否 | ipv6地址 | |
appVersion | string | 是 | 应用版本信息 | |
name | string | 是 | app名称 | |
bundle | string | 是 | Android: app 包名; iOS: app id | |
region | string | 否 | 命名规则:1.省(简称,不加省);2.省(简称,不加省),市(简称,不加市);3.省(简称,不加省),市(简称,不加市),区(全称);4.省(简称,不加省),市(简称,不加市),区(全称),商圈(全称)。 【补充说明】 1)如果是自治区、行政区,后缀也不保留自治区、行政区等特殊备注,统一用简称;如果是自治州、地区、盟,后缀也不保留自治州、地区、盟等特殊备注,统一用简称 2)如果是直辖市,命名,市,市,示例:北京,北京 3)如果是省直辖县、县级市(级别与县同,但以市命名),命名 省,省,县、省,省,市 ,示例:海南,海南,东方市 | |
3rd_ad_version | string | 是 | 广告版本号: 2.0; 具体版本使用和更新,请咨询广告产品 | |
lat | float | 是 | 维度(-90.0~+90.0) | |
lon | float | 是 | 经度(-180.0~+180.0) | |
deviceInfo(设备信息) | screenHeight | int | 是 | 屏幕高 |
screenWidth | int | 是 | 屏幕宽 | |
device | string | 是 | 设备型号,如iphone 5s, galaxy | |
devicetype | int | 是 |
设备类型 0: 未知 1: 手机 2: 平板 3: PC 4: 智能电视 |
|
carrier | int | 是 |
运营商 0:未知 1:中国移动 2:电信 3:联通 4:广电 99:其他 |
|
manufacturer | string | 是 | 设备厂商,如samsung,huawei | |
androidVersion | string | 否 | 安卓版本 | |
iosVersion | string | 否 | ios版本 | |
network | string | 是 | 网络类型:2g 3g 4g wifi | |
osversion | string | 是 | 设备操作系统版本 | |
useragent | string | 是 | 设备浏览器中的 UA 信息 | |
deeplinkEnable | int | 是 |
是否支持deeplink吊起 0-不支持 1-支持 |
示例:
{
"userInfo": {
"gender": "1",
"age": "25",
"mac": "10:10:10:10:10:10",
"androidId": "9774d56d682e549c",
"imei": "102c78e5e4764285ac72096127c88eae",
"ip": "183.61.126.46",
" name": "ceshi",
" bundle ": "com.test",
"appVersion": "3.1.2",
"region": "北京市,北京市,海淀区",
"lat": "52",
"lon": "120",
"cityCode": "1",
"3rd_ad_version": "2.0"
},
"deviceInfo": {
"screenHeight": 1280,
"screenWidth": 720,
"device": "lcsh92_wet_tdd",
" devicetype": "1",
" carrier": "1",
" manufacturer": "huawei",
"androidVersion": "4.2.2",
"network": "wifi",
"deeplinkEnable": "0",
"osversion ": "5.1.2",
"useragent ": "Dalvik/2.1.0 (Linux; U; Android 8.0.0; MI 6 MIUI/V10.2.1.0.OCACNFK) "
}
}
4.2.2 返回值
字段名 | 类型 | 是否必须 | 描述 |
status | string | 是 | 请求成功时返回success,失败时返回fail |
code | int | 是 | 错误码,成功时返回0,其他为错误代码 |
reason | string | 否 | 错误原因,code!=0时,一定包含此字段 |
result | json array | 是 | 文章列表,目前包括新闻、视频、广告 |
yd_userid | string | 否 | 成功返回时会带有一点资讯的用户id,用于日志回传 |
fromid | string | 否 | 成功时返回,所在请求频道的fromid,用于日志回传 |
cookie | string | 否 | 请求正文H5中需要带上的cookie信息 |
示例: ==(备注:示例中未包含广告卡片)==
{
"status": "success",
"code": 0,
"channel": "社会",
"fromid": "c9",
"yd_userid": "-1335030660",
"cookie": "JSESSIONID=hkmgxjzjZU7vfNA_r-X5ug",
"result": [
{
"ctype": "news",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "0HYDUbQ4",
"title": "供热季暖气不热怎么办 热企专家教您“放放气”",
"dtype": "threepic",
"itemid": "0HYDUbQ4",
"dislike_reasons": [
"社会",
"暖气",
"标题党",
"内容质量差"
],
"image_urls": [
"http://i1.go2yd.com/corpimage.php?url=0HYDUb3dHS&type=webp_324x211&source=sample&net=wifi&docid=0HYDUbQ4",
"http://i1.go2yd.com/corpimage.php?url=0HYDUbailN&type=webp_324x211&source=sample&net=wifi&docid=0HYDUbQ4",
"http://i1.go2yd.com/corpimage.php?url=0HYDUbMhCz&type=webp_324x211&source=sample&net=wifi&docid=0HYDUbQ4"
],
"url": "https://doris.yidianzixun.com/article/0HYDUbQ4?s=sample&appid=sample&net=wifi",
"image": "http://i1.go2yd.com/corpimage.php?url=0HYDUb3ERV&type=webp_324x211&source=sample&net=wifi&docid=0HYDUbQ4",
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/0EvDOpqc0Ho",
"name": "凤凰网吉林频道",
"fromId": "m164244",
"type": "media"
},
"comment_url": "https://doris.yidianzixun.com/comments/0HYDUbQ4?s=sample&appid=sample&net=wifi"
},
{
"ctype": "video",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "V_01EeC6Mm",
"title": "视频:直击山洪爆发恐怖瞬间 大桥被吞没人群四散奔逃",
"dtype": "bigpic",
"itemid": "V_01EeC6Mm",
"dislike_reasons": [
"社会视频",
"社会",
"泥石流",
"标题党",
"内容质量差"
],
"date": "2017-10-26 15:04:19",
"source": "果外video",
"duration": 154,
"summary": "山洪展现恐怖爆发力,大桥瞬间被吞没人群四散奔逃,我们应对自然常怀敬畏之心。",
"url": "https://doris.yidianzixun.com/article/V_01EeC6Mm?s=sample&appid=sample&net=wifi",
"up": 1,
"like": 1,
"play_count": 1540,
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/0GEvpYgGOhM",
"name": "果外video",
"fromId": "m576490",
"type": "media"
},
"image": "http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0HmxI2gVP3w&type=webp_896x504&source=sample&net=wifi&docid=V_01EeC6Mm",
"comment_url": "https://doris.yidianzixun.com/comments/V_01EeC6Mm?s=sample&appid=sample&net=wifi"
},
{
"ctype": "news",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "0HYEg55w",
"title": "街边遇到有姑娘求几块钱路费,应该怎么做?",
"dtype": "threepic",
"itemid": "0HYEg55w",
"dislike_reasons": [
"社会",
"标题党",
"内容质量差"
],
"image_urls": [
"http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hmpt4jTT6m&type=webp_324x211&source=sample&net=wifi&docid=0HYEg55w",
"http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0HmpvSpTczQ&type=webp_324x211&source=sample&net=wifi&docid=0HYEg55w",
"http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hmpx3S74Lo&type=webp_324x211&source=sample&net=wifi&docid=0HYEg55w"
],
"url": "https://doris.yidianzixun.com/article/0HYEg55w?s=sample&appid=sample&net=wifi",
"image": "http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hmpt4jTT6m&type=webp_324x211&source=sample&net=wifi&docid=0HYEg55w",
"comment_count": 17,
"down": 1,
"up": 2,
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/0DfYhM98WsS",
"name": "一点问答",
"fromId": "m412501",
"type": "media"
},
"comment_url": "https://doris.yidianzixun.com/comments/0HYEg55w?s=sample&appid=sample&net=wifi"
},
{
"ctype": "news",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "0HY58vo2",
"title": "老人收养一男孩,多年来却和男孩形如陌路,竟与老人去世的儿子有关",
"dtype": "threepic",
"itemid": "0HY58vo2",
"dislike_reasons": [
"社会",
"收养",
"标题党",
"内容质量差"
],
"image_urls": [
"http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hm3RfTriaG&type=webp_324x211&source=sample&net=wifi&docid=0HY58vo2",
"http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hm3S2pN2ES&type=webp_324x211&source=sample&net=wifi&docid=0HY58vo2",
"http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hm3S4HKEK0&type=webp_324x211&source=sample&net=wifi&docid=0HY58vo2"
],
"url": "https://doris.yidianzixun.com/article/0HY58vo2?s=sample&appid=sample&net=wifi",
"image": "http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hm3RfTriaG&type=webp_324x211&source=sample&net=wifi&docid=0HY58vo2",
"comment_count": 48,
"up": 155,
"down": 12,
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/0GZqJdjlPRQ",
"name": "麒琅曦",
"fromId": "m362370",
"type": "media"
},
"comment_url": "https://doris.yidianzixun.com/comments/0HY58vo2?s=sample&appid=sample&net=wifi"
},
{
"ctype": "news",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "0HY9Reyh",
"title": "长江经济带11省市有多富?GDP占全国4成",
"dtype": "threepic",
"itemid": "0HY9Reyh",
"dislike_reasons": [
"社会",
"GDP",
"四川",
"标题党",
"内容质量差"
],
"image_urls": [
"http://i1.go2yd.com/corpimage.php?url=0HY9Re0Bhk&type=webp_324x211&source=sample&net=wifi&docid=0HY9Reyh",
"http://i1.go2yd.com/corpimage.php?url=0HY9ReV0t8&type=webp_324x211&source=sample&net=wifi&docid=0HY9Reyh",
"http://i1.go2yd.com/corpimage.php?url=0HY9ReO77F&type=webp_324x211&source=sample&net=wifi&docid=0HY9Reyh"
],
"url": "https://doris.yidianzixun.com/article/0HY9Reyh?s=sample&appid=sample&net=wifi",
"image": "http://i1.go2yd.com/corpimage.php?url=0HY9Re0Bhk&type=webp_324x211&source=sample&net=wifi&docid=0HY9Reyh",
"comment_count": 1,
"wemedia_info": {
"image": "http://static.yidianzixun.com/media/0694c3bdb87a61b815617af6e3b27323.jpg",
"name": "财经国家周刊",
"fromId": "m7472",
"type": "media"
},
"comment_url": "https://doris.yidianzixun.com/comments/0HY9Reyh?s=sample&appid=sample&net=wifi"
},
{
"ctype": "news",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "0HWyUNGH",
"title": "必看!十九大报告首次提出的这一战略,给6亿人吃下“定心丸”",
"dtype": "threepic",
"itemid": "0HWyUNGH",
"dislike_reasons": [
"社会",
"农民",
"农村",
"标题党",
"内容质量差"
],
"image_urls": [
"http://i1.go2yd.com/corpimage.php?url=0HWyUNBYSa&type=webp_324x211&source=sample&net=wifi&docid=0HWyUNGH",
"http://i1.go2yd.com/corpimage.php?url=0HWyUNe8TC&type=webp_324x211&source=sample&net=wifi&docid=0HWyUNGH",
"http://i1.go2yd.com/corpimage.php?url=0HWyUNkzvv&type=webp_324x211&source=sample&net=wifi&docid=0HWyUNGH"
],
"url": "https://doris.yidianzixun.com/article/0HWyUNGH?s=sample&appid=sample&net=wifi",
"image": "http://i1.go2yd.com/corpimage.php?url=0HWyUNe8TC&type=webp_324x211&source=sample&net=wifi&docid=0HWyUNGH",
"comment_count": 0,
"up": 17,
"down": 5,
"wemedia_info": {
"image": "http://s.go2yd.com/b/ic72ukiu.jpg",
"name": "网络新闻联播",
"fromId": "m14381",
"type": "media"
},
"comment_url": "https://doris.yidianzixun.com/comments/0HWyUNGH?s=sample&appid=sample&net=wifi"
},
{
"ctype": "video",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "V_01EdaAbK",
"title": "《帧像》:应急救护——生命的“绿色通道”",
"dtype": "bigpic",
"itemid": "V_01EdaAbK",
"dislike_reasons": [
"社会视频",
"社会",
"标题党",
"内容质量差"
],
"date": "2017-10-26 14:34:19",
"source": "中国网视频",
"duration": 242,
"summary": "作为红十字会开展应急救护培训,是《中华人民共和国红十字会法》赋予的职责。红十字会一定要把这项职责发挥好,切实为老百姓做力所能及、踏踏实实的事情。",
"url": "https://doris.yidianzixun.com/article/V_01EdaAbK?s=sample&appid=sample&net=wifi",
"like": 1,
"play_count": 794,
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/0EoZ743IiA4",
"name": "中国网视频",
"fromId": "m490370",
"type": "media"
},
"image": "http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hmqsz4s0ga&type=webp_896x504&source=sample&net=wifi&docid=V_01EdaAbK",
"comment_url": "https://doris.yidianzixun.com/comments/V_01EdaAbK?s=sample&appid=sample&net=wifi"
},
{
"ctype": "news",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "0HYHrm9w",
"title": "粤西高铁明年6月通车,广州⇄茂名2.5小时!这几个城市也快通车了!",
"dtype": "threepic",
"itemid": "0HYHrm9w",
"dislike_reasons": [
"广州",
"高铁",
"茂名",
"标题党",
"内容质量差"
],
"image_urls": [
"http://i1.go2yd.com/corpimage.php?url=0HYHrmDNjZ&type=webp_324x211&source=sample&net=wifi&docid=0HYHrm9w",
"http://i1.go2yd.com/corpimage.php?url=0HYHrmJjIF&type=webp_324x211&source=sample&net=wifi&docid=0HYHrm9w",
"http://i1.go2yd.com/corpimage.php?url=0HYHrmXeSZ&type=webp_324x211&source=sample&net=wifi&docid=0HYHrm9w"
],
"url": "https://doris.yidianzixun.com/article/0HYHrm9w?s=sample&appid=sample&net=wifi",
"image": "http://i1.go2yd.com/corpimage.php?url=0HYHrmg8q0&type=webp_324x211&source=sample&net=wifi&docid=0HYHrm9w",
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/09CVvIdzijY",
"name": "南方新闻网",
"fromId": "m202199",
"type": "media"
},
"comment_url": "https://doris.yidianzixun.com/comments/0HYHrm9w?s=sample&appid=sample&net=wifi"
},
{
"ctype": "video",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "V_01Eerceo",
"title": "挽回专家:告诉你一招,怎样判断前任是否还爱你",
"dtype": "bigpic",
"itemid": "V_01Eerceo",
"dislike_reasons": [
"社会视频",
"社会",
"把妹",
"标题党",
"内容低俗"
],
"date": "2017-10-26 14:22:20",
"source": "蜕变爱情顾问",
"duration": 269,
"summary": "挽回专家:告诉你一招,怎样判断前任是否还爱你。蜕变爱情顾问《挽回专家》,CP情感专家联手创办《蜕变爱情顾问》提供靠谱、有效、丰富的情感内容与咨询服务,脱单、恋爱、挽回、经营爱情,收获爱情从蜕变开始。",
"url": "https://doris.yidianzixun.com/article/V_01Eerceo?s=sample&appid=sample&net=wifi",
"play_count": 208,
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/0CegpTsQhfs",
"name": "蜕变爱情顾问",
"fromId": "m112092",
"type": "media"
},
"image": "http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hn0yqPcmvI&type=webp_896x504&source=sample&net=wifi&docid=V_01Eerceo",
"comment_url": "https://doris.yidianzixun.com/comments/V_01Eerceo?s=sample&appid=sample&net=wifi"
}
]
}
4.2.2.1 新闻卡片
图 4-2-1 新闻卡片样式参考
字段名 | 类型 | 是否必须 | 描述 |
ctype | string | 是 | 卡片类型,用于区分不同的内容卡片和广告卡片,新闻卡片为news。 |
impid | int | 是 | 综合推荐id,用于日志回传 |
pageid | string | 是 | 页面id,用于日志回传 |
docid | string | 是 | 文章id,用于日志回传图 |
title | string | 是 | 标题 |
dtype | string | 是 | 卡片展示的排版类型。threepic:多图,bigpic:大图,singlepic:小图。需要和ctype结合展示。 |
date | string | 是 | 时间 |
summary | string | 是 | 摘要,可能为空字符串 |
image | string | 是 | 图片 |
image_urls | json array | 是 | 如果是多图,请使用该字段,包含多个图片链接 |
source | string | 是 | 来源 |
url | string | 是 | 文章链接 |
up | int | 否 | 顶 |
down | int | 否 | 踩 |
comment_count | int | 否 | 评论数 |
comment_url | string | 是 | 评论链接 |
wemedia_info | json object | 否 | 如果是自媒体文章,会有该字段,里面包含image自媒体图片、name自媒体名称、fromId频道id、type频道类型 |
dislike_reasons | json array | 否 | 不喜欢该文章的原因,用户负反馈。 |
示例:
{
"ctype": "video",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "V_01EdaAbK",
"title": "《帧像》:应急救护——生命的“绿色通道”",
"dtype": "bigpic",
"itemid": "V_01EdaAbK",
"dislike_reasons": [
"社会视频",
"社会",
"标题党",
"内容质量差"
],
"date": "2017-10-26 14:34:19",
"source": "中国网视频",
"duration": 242,
"summary": "作为红十字会开展应急救护培训,是《中华人民共和国红十字会法》赋予的职责。红十字会一定要把这项职责发挥好,切实为老百姓做力所能及、踏踏实实的事情。",
"url": "https://doris.yidianzixun.com/article/V_01EdaAbK?s=sample&appid=sample&net=wifi",
"like": 1,
"play_count": 794,
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/0EoZ743IiA4",
"name": "中国网视频",
"fromId": "m490370",
"type": "media"
},
"image": "http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hmqsz4s0ga&type=webp_896x504&source=sample&net=wifi&docid=V_01EdaAbK",
"comment_url": "https://doris.yidianzixun.com/comments/V_01EdaAbK?s=sample&appid=sample&net=wifi"
}
4.2.2.2 视频卡片
图 4-2-2 新闻卡片样式参考
字段名 | 类型 | 是否必须 | 描述 |
ctype | string | 是 | 卡片类型,用于区分不同的内容卡片和广告卡片,视频卡片为video |
impid | int | 是 | 综合推荐id,用于日志回传 |
pageid | string | 是 | 页面id,用于日志回传 |
docid | string | 是 | 文章id,用于日志回传 |
title | string | 是 | 标题 |
dtype | string | 是 | bigpic:大图,singlepic:小图。需要和ctype结合展示。 |
date | string | 是 | 时间 |
summary | string | 是 | 摘要,可能为空字符串 |
image | string | 是 | 图片 |
source | string | 是 | 来源 |
url | string | 是 | 文章链接 |
up | int | 否 | 顶 |
down | int | 否 | 踩 |
comment_count | int | 否 | 评论数 |
comment_url | string | 是 | 评论链接 |
wemedia_info | json object | 否 | 如果是自媒体文章,会有该字段,里面包含image自媒体图片、name自媒体名称、fromId频道id、type频道类型 |
duration | int | 是 | 视频时长 |
play_count | int | 否 | 播放次数 |
dislike_reasons | json array | 否 | 不喜欢该文章的原因 |
示例:
{
"ctype": "video",
"impid": "-1335030660_1509002539349_9441",
"pageid": "CF_c9",
"docid": "V_01EdaAbK",
"title": "《帧像》:应急救护——生命的“绿色通道”",
"dtype": "bigpic",
"itemid": "V_01EdaAbK",
"dislike_reasons": [
"社会视频",
"社会",
"标题党",
"内容质量差"
],
"date": "2017-10-26 14:34:19",
"source": "中国网视频",
"duration": 242,
"summary": "作为红十字会开展应急救护培训,是《中华人民共和国红十字会法》赋予的职责。红十字会一定要把这项职责发挥好,切实为老百姓做力所能及、踏踏实实的事情。",
"url": "https://doris.yidianzixun.com/article/V_01EdaAbK?s=sample&appid=sample&net=wifi",
"like": 1,
"play_count": 794,
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/0EoZ743IiA4",
"name": "中国网视频",
"fromId": "m490370",
"type": "media"
},
"image": "http://i1.go2yd.com/corpimage.php?url=http%3A%2F%2Fsi1.go2yd.com%2Fget-image%2F0Hmqsz4s0ga&type=webp_896x504&source=sample&net=wifi&docid=V_01EdaAbK",
"comment_url": "https://doris.yidianzixun.com/comments/V_01EdaAbK?s=sample&appid=sample&net=wifi"
}
4.2.2.3 图集卡片
字段名 | 类型 | 是否必须 | 描述 |
ctype | string | 是 | 卡片类型,用于区分不同的内容卡片和广告卡片,图集卡片为picture_gallery。 |
impid | int | 是 | 综合推荐id,用于日志回传 |
pageid | string | 是 | 页面id,用于日志回传 |
docid | string | 是 | 文章id,用于日志回传图 |
title | string | 是 | 标题 |
dtype | string | 是 | 卡片展示的排版类型。threepic:多图,bigpic:大图,singlepic:小图,nopic:无图。 |
date | string | 是 | 时间 |
summary | string | 是 | 摘要,可能为空字符串 |
image | string | 是 | 封面图图片 |
image_urls | json array | 是 | 如果是多图,请使用该字段,包含多个图片链接 |
source | string | 是 | 来源 |
url | string | 是 | 文章链接 |
comment_count | int | 否 | 评论数 |
comment_url | string | 是 | 评论链接 |
gallery_item_count | Int | 是 | 图集中包含的图片数量 |
wemedia_info | json object | 否 | 如果是自媒体文章,会有该字段,里面包含image自媒体图片、name自媒体名称、fromId频道id、type频道类型 |
dislike_reasons | json array | 否 | 不喜欢该文章的原因,用户负反馈。 |
示例:
{
"docid": "0Jq78e6j",
"title": "如果全世界美元都流回美国, 然后全世界都弃用美元, 会有什么后果",
"ctype": "picture_gallery",
"dtype": "bigpic",
"impid": "-1552712012_1534740995325_7220",
"pageid": "CF_s30233",
"itemid": "0Jq78e6j",
"dislike_reasons": [
"旧闻、重复",
"内容质量差"
],
"date": "2018-08-20 12:56:35",
"summary": "如果全世界美元都流回美国,然后世界各国弃用美元,那么美国会出现严重的通货膨胀,几乎相当于短时间内发行了超过100%的货币,引发资产价格暴涨,生活物资涨价,房价翻番等后果。",
"image_urls": [
"http://ib11.go2yd.com/corpimage.php?url=0Jq78eIaJu&type=png_972x483&source=s3rd_op393&net=wifi&docid=0Jq78e6j"
],
"source": "九哥财经",
"url": "https://doris.yidianzixun.com/article/0Jq78e6j?s=op393&appid=s3rd_op393&net=wifi&utk=V2_LhpSZ3j-SxBW85DmaNT7jO-o8zbLnsF1ibWNmZn2iS0&log_field=TWDdYokQKNz_TuFvmtUsdCyXrGKASZ--R_nlntMBvva5AUfhTSGCrjToXVqtJyzgKZGYKW0s3ldVzyEOLEMk0MoFT_H8FpjvZleO7XIu1nn6wRxau3tPCmJGJBrg09SPPYaoxHYCPwULxm7fxmdwMsxK49ympvanQaYSE7_O3ZtBPCb0TD9y-aDVtCLMoAj2S-jD48MuHNXmcodGXazlxdX8O5HkSVYXJkJIifPRsk4Hzw0HPB7_eKp1RL2v5wr1Xl5T-0nAUEvAkXbplTxggKh2wTWcMtAkBgc_bokkisB28ffzm-QnxzmYLZmSYjZrcpEYs3XdrhoppnbG8RNrALlICLb2HV__IEVZos6mu25MLRLWm6Odm2bsAe0OyxXO&can_comment=1",
"image": "http://ib11.go2yd.com/corpimage.php?url=0Jq78eIaJu&type=png_972x483&source=s3rd_op393&net=wifi&docid=0Jq78e6j",
"wemedia_info": {
"image": "http://si1.go2yd.com/get-image/048Ct8DkjMO",
"name": "九哥财经",
"summary": "每天5分钟,九哥为你解读财经之美。",
"plus_v": 0,
"fromId": "S0-zUEbGCwDiTI7hQTiaEA"
},
"comment_url": "https://doris.yidianzixun.com/comments/0Jq78e6j?s=op393&appid=s3rd_op393&net=wifi",
"gallery_item_count": 4
}
4.2.2.4 广告卡片
4.2.2.4.1 展示类大图
【推荐交互方式】当用户点击广告卡片区域(标题、图片、广告来源)任意处,跳转广告落地页。。
字段名 | 字段类型 | 是否必须 | 描述 |
ctype | String | 是 | 卡片类型。advertisement为广告卡片 |
adsfrom | String | 是 | 广告来源标记。日志上报时将用到此字段 |
title | String | 是 | (广告图片上方)广告标题。提示:此字段大图、小图为title,组图为summary |
source | String | 是 | (广告图片下方)广告主名称 |
image | String | 是 | 广告图片url。图片大小1000x500 px |
url | String | 是 | 落地页url。用途:1. 点击广告后的跳转地址 2. 日志上报 |
aid | Int | 是 | 广告ID。日志上报时将用到此字段 |
ex | String | 是 | 回传加密字段。日志上报时将用到此字段 |
template | Int | 是 | 广告模板号,用途:1. 区分广告展示样式 2. 日志上报也会用到该字段; 3:展示类大图; 4:展示类小图;40:展示类组图; 21:下载类大图; 25:下载类小图; 31:下载类组图 |
viewMonitorUrls | Array | 否 | 展示监控url。 用途:1. 广告曝光后向此监控中的链接一一发起请求;2. 曝光行为发生时,请求此链接,完成以下2个上报,A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
clickMonitorUrls | Array | 否 | 点击监控url。 用途:1. 广告点击后向此监控中的链接一一发起请求;2. 点击行为发生时,请求此链接,完成以下2个上报,A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
position | Int | 否 | 广告投放位置。日志上报时将用到此字段 |
expireTime | Long | 否 | 广告失效时间。日志上报时将用到此字段 |
alMonitorUrls | Array |
否 | 开始调起监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 开始吊起行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
alsMonitorUrls | Array |
否 | 调起成功监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 吊起成功行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
alfMonitorUrls | Array |
否 | 调起失败监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 吊起失败行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
deepLinkUrl | Array |
否 | deeplink吊起的url。用途1.点击广告后跳转第三方app 2.日志上报 3.交互:若deepLinkUrl与url同时返回,则用户点击广告后,吊起deepLinkUrl,若失败则跳转到url |
注:返回的广告卡片中可能包含在上面表格中列出的以外的字段,那些均为一点资讯保留字段,开发者可忽略。
示例:
{
"ctype": "advertisement",
"adsfrom": "lingxi",
"title": "招募司机 顺路搭载 实现月薪万元梦",
"source": "滴滴车主",
"image": "https://image-ads.yidianzixun.com/static/CmcRYVm2gtiASXc4AAIlGJUHFKc328/65044977.jpg",
"url": "http://www.udache.com/app/mDriverReg/index?channel=10&channelId=85132",
"aid": 579065106,
"template": "3",
"ex": "t0IiovztzZQ1BVUG63RZNTaBLVk56zZd03vmf37_d0nTg7EIo_7GvmUIgUuEmtCdWieTIl4qzHXBfWIxGJOMEsj3oBnfjxYWLc8q_wh9A3z2pl_YqICjV9643agQUvCsHaoOp8fd_18lL-rACTscmxp8uyQ2tONSgx1MCBFrw1Q0Fu0qrmw0-Zi6GMAVtWkMbbexC8iAEQRxBJr9FzzlYeHMh9-9UIY6HxHM0VlVKaooFrrnpiKC1eARKTUU9p85Scal7hX1ooGAifPIythZ4GfLEDFd9fy9fRwBq7YzxjgN7GRlvtIdxPB4Q64-bq_tnWD6xLo1sRosxrJU-LkLqlaP1-whFJ3wSyyLQSYxz1NVAKdKk3m7qjuWMn06ek9WwfnwrbFwRFTUYNa7c1jiiHebCLCENTC8o5-RAt3_h73ctSp2rpDAALmYlVg8hkOYMK5HHQvSIju5N1fC8YCdgFGtusOKhWR1f-NXG2FrAlMm0eeplWpBK1M0l0tM86QFBFsTW4FOaBRxJWJlLyYVk-dT5T-muqW6PEF-OwzbVKxj14anT4bG9IRcPyt2QVrQ4eOQTJWvSiro75VRtD41wcld_VI6puhr_d1J2-V-zyd4oHf40nGYCMtoRTZNySYaI2uuQ4UbMo9_N2QawFbwyA",
"expireTime": 1784360880000,
"viewMonitorUrls":[
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=view&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
] ,
"clickMonitorUrls":[
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
] ,
"position": 2,
}
4.2.2.4.2 展示类小图
图 4-2-2 小图广告样式
【推荐交互方式】当用户点击广告卡片区域(标题、图片、广告来源)任意点,跳转广告落地页。
字段名 | 字段类型 | 是否必须 | 描述 |
ctype | String | 是 | 卡片类型。advertisement为广告卡片 |
adsfrom | String | 是 | 广告来源标记。日志上报时将用到此字段 |
title | String | 是 | (广告图片上方)广告标题 |
source | String | 是 | (广告图片下方)广告主名称 |
image | String | 是 | 广告图片url。图片大小480x320 px |
url | String | 是 | 落地页url。 用途:1. 点击广告后的跳转地址 2. 日志上报 3.交互:若deepLinkUrl与url同时返回,则用户点击广告后,吊起deepLinkUrl,若失败则跳转到url。若仅返回url则跳转落地页 |
url | String | 是 | 落地页url。 用途:1. 点击广告后的跳转地址 2. 日志上报 |
aid | Int | 是 | 广告ID。日志上报时将用到此字段 |
ex | String | 是 | 回传加密字段。日志上报时将用到此字段 |
template | Int | 是 | 广告模板号.用途:1. 区分广告展示样式 ; 2. 日志上报也会用到该字段; 3:展示类大图; 4:展示类小图; 40:展示类组图; 21:下载类大图; 25:下载类小图; 31:下载类组图 |
viewMonitorUrls | Array | 否 | 展示监控url。 用途:1. 广告曝光后向此监控中的链接一一发起请求;2. 曝光行为发生时,请求此链接,完成以下2个上报,A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控 |
clickMonitorUrls | Array | 否 | 点击监控url。 用途:1. 广告点击后向此监控中的链接一一发起请求;2. 点击行为发生时,请求此链接,完成以下2个上报,A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控 |
position | Int | 否 | 广告投放位置。日志上报时将用到此字段 |
expireTime | Long | 否 | 广告失效时间。日志上报时将用到此字段 |
alMonitorUrls | Array |
否 | 开始调起监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 开始吊起行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
alsMonitorUrls | Array |
否 | 调起成功监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 吊起成功行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
alfMonitorUrls | Array |
否 | 调起失败监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 吊起失败行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
deepLinkUrl | Array |
否 | deeplink吊起的url。用途1.点击广告后跳转第三方app 2.日志上报 3.交互:若deepLinkUrl与url同时返回,则用户点击广告后,吊起deepLinkUrl,若失败则跳转到url |
示例:
{
"ctype": "advertisement",
"adsfrom": "lingxi",
"title": "高邮咸鸭蛋,每枚低至1元起!",
"source": "淘宝",
"image": "https://image-ads.yidianzixun.com/static/CmcRYVlXRFyAbpz2AACpVpS5jKc340/57775935.jpg",
"url": "https://m.maila88.com/mailaIndex?mailaAppKey=5nQN8C6UqC8NSjKX3KBM9p&mailaOs=android",
"aid": 579065106,
"template": "4",
"ex": "t0IiovztzZQ1BVUG63RZNTaBLVk56zZd03vmf37_d0nTg7EIo_7GvmUIgUuEmtCdWieTIl4qzHXBfWIxGJOMEsj3oBnfjxYWLc8q_wh9A3z2pl_YqICjV9643agQUvCsHaoOp8fd_18lL-rACTscmxp8uyQ2tONSgx1MCBFrw1Q0Fu0qrmw0-Zi6GMAVtWkMbbexC8iAEQRxBJr9FzzlYeHMh9-9UIY6HxHM0VlVKaooFrrnpiKC1eARKTUU9p85Scal7hX1ooGAifPIythZ4GfLEDFd9fy9fRwBq7YzxjgN7GRlvtIdxPB4Q64-bq_tnWD6xLo1sRosxrJU-LkLqlaP1-whFJ3wSyyLQSYxz1NVAKdKk3m7qjuWMn06ek9WwfnwrbFwRFTUYNa7c1jiiHebCLCENTC8o5-RAt3_h73ctSp2rpDAALmYlVg8hkOYMK5HHQvSIju5N1fC8YCdgFGtusOKhWR1f-NXG2FrAlMm0eeplWpBK1M0l0tM86QFBFsTW4FOaBRxJWJlLyYVk-dT5T-muqW6PEF-OwzbVKxj14anT4bG9IRcPyt2QVrQ4eOQTJWvSiro75VRtD41wcld_VI6puhr_d1J2-V-zyd4oHf40nGYCMtoRTZNySYaI2uuQ4UbMo9_N2QawFbwyA",
"expireTime": 1784360880000,
"viewMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=view&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"clickMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"position": 2
}
4.2.2.4.3 展示类组图
图 4-2-3 组图广告样式
【推荐交互方式】当用户点击广告卡片区域(标题、图片、广告来源)任意点,跳转广告落地页。
字段名 | 字段类型 | 是否必须 | 描述 |
ctype | String | 是 | 卡片类型。advertisement为广告卡片 |
adsfrom | String | 是 | 广告来源标记。日志上报时将用到此字段 |
summary | String | 是 | (广告图片上方)广告标题 |
source | String | 是 | (广告图片下方)广告主名称 |
image_urls | Array | 是 | 广告图片url。单张图片大小480x320 px,共三张图片 |
url | String | 是 | 落地页url。 用途:1. 点击广告后的跳转地址 2. 日志上报 3.交互:若deepLinkUrl与url同时返回,则用户点击广告后,吊起deepLinkUrl,若失败则跳转到url。若仅返回url则跳转落地页 |
aid | Int | 是 | 广告ID。日志上报时将用到此字段 |
ex | String | 是 | 回传加密字段。日志上报时将用到此字段 |
template | Int | 是 | 广告模板号, .用途:1. 区分广告展示样式 ; 2. 日志上报也会用到该字段;3:展示类大图; 4:展示类小图; 40:展示类组图; 21:下载类大图; 25:下载类小图; 31:下载类组图 |
viewMonitorUrls | Array | 否 | 展示监控url。 用途:1. 广告曝光后向此监控中的链接一一发起请求;2. 曝光行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
clickMonitorUrls | Array | 否 | 点击监控url。 用途:1. 广告点击后向此监控中的链接一一发起请求;2. 点击行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
position | Int | 否 | 广告投放位置。日志上报时将用到此字段 |
expireTime | Long | 否 | 广告失效时间。日志上报时将用到此字段 |
alMonitorUrls | Array |
否 | 开始调起监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 开始吊起行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
alsMonitorUrls | Array |
否 | 调起成功监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 吊起成功行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
alfMonitorUrls | Array |
否 | 调起失败监控url。用途:1. 广告点击后向此监控中的链接一一发起请求;2. 吊起失败行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接),B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
deepLinkUrl | Array |
否 | deeplink吊起的url。用途1.点击广告后跳转第三方app 2.日志上报 3.交互:若deepLinkUrl与url同时返回,则用户点击广告后,吊起deepLinkUrl,若失败则跳转到url |
注:返回的广告卡片中可能包含在上面表格中列出的以外的字段,那些均为一点资讯保留字段,开发者可忽略。
示例:
{
"ctype": "advertisement",
"adsfrom": "lingxi",
"source": "索菲亚全屋定制",
"summary": "定制家具,比你想象中的要便宜",
"image_urls": [
"https://image-ads.yidianzixun.com/static/CmcRYVmKxCiAGAuVAAFRQ_VTJ50509/36111156.jpg",
"https://image-ads.yidianzixun.com/static/CmcRYlmKxCyAWRPkAAFilG0ZZaw368/66530904.jpg",
"https://image-ads.yidianzixun.com/static/CmcRYVmKxDOAWPDFAAFji4WmKaE283/27797730.jpg"
],
"url": "https://wap.suofeiya.com.cn/topic/semdzqwjj576.html?#qd=yidianzxqg?bizt006",
"aid": 600014601,
"template": "40",
"ex": "t0IiovztzZQYOK9_tl6CilPKEIKRe7TEDQid8et8C2ZH9R9uoLx1uYageVVCBVh0WieTIl4qzHU5DDxEkVYg4SY1xDPSyUNNCeDwH8TOI_Lw-8FMcPEX4JEhBUMF70rU95cN2ZkVTmSFtAA78y4fbuuihQVOqv-SFNu_J4j-DnExsbZQrnwlKjDKMoj5lhc3igg1Vrt9KZBtt7ELyIARBHEEmv0XPOVh4cyH371QhjofEczRWVUpqigWuuemIoLVRMYz_XpUbwZU3GsQxBGka8Va8CeQnTQa5tmHU0Iipl9ZFeL2a8uCGsy3WKsVurD7uoeOGJcbJtoviOxvyLeOSz1k9gGoiiuRjSvc2F0WINUwn-2gN67_woPpgFPrcX58G7xADSG3m2Et5BW8tfnzVxSsChh0xdVvq-i7UbL0q8Ff6VfKA7vH_cwnCGMksi04DW7p1urb28M2cr9G65sEVENf8u4UNMSUyQUEGrz5FkenP7ipHKp2GJmplS12JUIaeJ8M5E4NjiJmqLLG9_JDUQQJ1p0XRkjSuASsKT9hndguu-23GrI86cX167n3ZaPIlOPZpeGAWT-X_BtyCk8WZfz2lLiAIsMhxclFjS5PjN1y0yI6lbnejmva2gUg8vZD0od6WKG96J6buY_xSsbcFVelNlOgxQ9xMVOI9NnsSW4gaAvNK92p6KOMS3F3c8kzL1LHhGY36TcBKVjnfCw6_7EL6i2EmEc3_PaUuIAiwyEC638rmFO2MEXeX6LwNElhrkTA4yRdBvDt-4Atde36R2FBMt7WHF1oslEGwjmKvjDB6cLe4amTz3NgTWzG1AnSfrLhHNHBdb2uE3U2hrSy1LHhmwISFFbibAwB-fsRrmf9eKQepiMHcKTQt1Mu91g7vLPk-5wyIGx9nZQSI9TGups2PLQvX3WFrdFr6n7Bso7EPLjetSW3q8m4hoPcclgZ3LUqdq6QwAArjGXwpzU7JHIUWHuf-MbGMnA4dKLvo31EmiAI5em2zV3LK_RMtsZSBAnWnRdGSNLE4rf7vQg0InWr-HIQXuTSmxPqblLtwjN3d_cedtK82W9B45OVkfkHFXPtU6_7o5l3YWSKilyjas9MatM7omqzoFlAn7PdIORiOlRggkBEZqzPZnGqqDTePmAD_yK121WguX1-kx1lwAQJ1p0XRkjSFiBWBGuBp6RHBPLIbPmVfJDHHaW-YuegwfQvPua2mK8NgFrOclMY0vQs5Fs8QWNmj1RvkpRNDBLffgMqWRZoayLS9Kqjiuew55SmRqpZnFBKddWnB3RdzO7jYXL8yj9p2kpVWXTCG_Tu42Fy_Mo_acETZOx2-G870zYo7fPdnhF6EjsT1uaRZjFTiPTZ7EluTonP21aa89MjEfy91BjPlZ-DGhJK0pBvjbJbxmsTUE0ycDh0ou-jfWUbhzQ6dme8CN4ukuA-F8uuRMDjJF0G8Dso2yb4WnTkn9NcpxC7YmPirFsQvlwq5QY52ohhqcejGIdb3TAp31kQTKwgGdMgAhlaRdoihvP1ypc_gDflUk8pHtYw4itoeEZRG_kPpRziC7ItSAvnEmM1_ZY9sf0YWth4AgGVjJ-KdR88_Yd4791eqQp92zyPQAt2eUjj_PuM3YEgzmGULjWy0Kj61J7LQ4LgwkmrioW-SgsL125TVDpiWPyi-wOw36jragv50JVKavOD52TCfer67KBfHLq_W7hp1toxEZZIj3mrIz08moNGUc0QwGNreGWh54tizJVU3KNg1k3B2mtlWpbEBxpDaOa4gTq8Mzp1eu8AYYThgd-qnSOnx9OFbZugPQexfBhm46iZliIKRii_UaaKUAkUBvdaQ4V1opCgFtJ_6g7dYrhKhXm1Em1vIuGdRBZbsolYbfVEnB6wm5yG5e9j8q1EVttqI1ddEy-b1u-F_r0ob63IeNarSbfwitQWOwCIf6xDSK2TdMNDLyKDkMcCd-clWVS82CuS8elwvjaYmEQXxmjAUDuN64hWjJBZYS5rb7MUHbeSSla3xA2M2FXIF1R6_vTcvOvm3jwj1lz75sQccSy3roSB7zQJQA",
"expireTime": 2082729600000,
"viewMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=view&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"clickMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"position": 4
}
4.2.2.4.4 下载类大图
图 4-2-4 下载类大图广告样式
【推荐交互方式】
- 下载按钮交互
(1) Android 点击下载按钮交互
a. 点击下载按钮静默开始下载 APP 安装包,toast 视图显示:“开始下载”。在下载过程显示下载完成的进度。
b. 完成下载后,自动跳转安装界面;
c. 若安装包已经完成下载,下载控件显示:“立即安装”。点击“立即安装“安装应用包。
d. 安装完成后,右下角控件显示:“打开”。点击“打开“控件打开应用。
(2) iOS 点击下载按钮交互
a. 点击下载按钮,唤起 APP STORE 中的下载页面,完成广告的下载、安装操作
- 其他交互
(1)当用户点击标题、图片、广告来源区域时,跳转广告落地页
字段名 | 字段类型 | 是否必须 | 描述 |
ctype | String | 是 | 卡片类型。advertisement为广告卡片 |
adsfrom | String | 是 | 广告来源标记。日志上报时将用到此字段 |
summary | String | 是 | (广告图片上方)广告标题 |
source | String | 是 | (广告图片下方)广告主名称 |
image | Array | 是 | 广告图片url。图片大小1000px *500px |
url | String | 是 | 落地页url。 用途:1. 点击广告后的跳转地址 2. 日志上报 |
actionUrl | String | 是 | Android应用包的存储地址,Android系统上点击下载按钮应跳转此地址 |
download_url | String | 是 | iOS应用在app store中的下载链接,iOS系统上点击下载按钮应跳转此地址 |
pn | String | 是 | Android应用包名 |
aid | Int | 是 | 广告ID。日志上报时将用到此字段 |
ex | String | 是 | 回传加密字段。日志上报时将用到此字段 |
template | Int | 是 | 广告模板号。用途:1. 区分广告展示样式; 2. 日志上报也会用到该字段;3:展示类大图; 4:展示类小图; 40:展示类组图; 21:下载类大图; 25:下载类小图; 31:下载类组图 |
viewMonitorUrls | Array | 否 | 展示监控url。 用途:1. 广告曝光后向此监控中的链接一一发起请求;2. 曝光行为发生时,请求此链接,完成以下2个上报,A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
clickMonitorUrls | Array | 否 | 点击监控url。 用途:1. 广告点击后向此监控中的链接一一发起请求;2. 点击行为发生时,请求此链接,完成以下2个上报,A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控 |
stdMonitorUrls | Array | 否 | 开始下载事件监控url。用途:1. 安装包开始下载时向此监控中的链接一一发起请求;2. 开始下载行为发生时,请求此链接,完成以下2个上报,A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
fidMonitorUrls | Array | 否 | 下载完成事件监控url。用途:1. 安装包下载完成时向此监控中的链接一一发起请求;2. 下载完成行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
cdbMonitorUrls | Array | 否 | 点击“立即下载”事件监控url。用途:1. 点击“立即下载”时向此监控中的链接一一发起请求;2. 点击“立即下载”完成行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
position | Int | 否 | 广告投放位置。日志上报时将用到此字段 |
expireTime | Long | 否 | 广告失效时间。日志上报时将用到此字段 |
注: 1.返回的广告卡片中可能包含在上面表格中列出的以外的字段,那些均为一点资讯保留字段,开发者可忽略。 2.该广告样式与其他大多数广告样式不同,广告标题字段为 summary 而非 title。
示例:
{
"ctype": "advertisement",
"adsfrom": "lingxi",
"source": "多融财富",
"image": "https://imagelx.yidianzixun.com/static/xxxx.jpg",
"summary": "还拿死工资?上班族都这样理财,每月等着拿利息",
"url": "https://sdtuis.xxxx.cn/ac/v/mg2s0y",
"actionUrl": "https://applx.yidianzixun.com/static/CmcRYlp0KBeALFacC0lo1RsL2ro839/16182318.apk",
"pn": "com.xxxx.yscq",
"template": "21",
"ex": "qUVDCoLASMLPS2X0U_L6vbtwCyq0k4MgbJP_0ZZKo9TDpKnQLriLA5OUanhso-duxuNV0uQpUo7o4R8NPuwiAXfrSbewbE1XQmwfpAjKHxVqvBeTWh1orunMU7A1vFJeOxaW1OJtsE8xGtNGj4hrzS2KOqFvpkKZrVSJAvQdL4_r2w3Ex0GO0fcFuimFjuqGzwt-kKAbk6K8ak-NaHTdjDShXKPjvS3xQQclTtIVCpMYNJYPwttEXblzEjNNCSdWcc0lymHzcvnvCQtWmJxvS05y0Fv_fObAN_d7k03d3q0ldOakqVSmLWXBj6i-35Dvjs19ri-_T8sDEsBDgL7hlul990iIbktPgU6NtGdXCQnDGZpvsWaLtPQwTQIB7jvCL48nOq_dO0o6t7mRCDD7cJZ_3GSKVFv6aquTttIMiLkohGY5Bv6gZ_VdpDLc8Z2m4jrPL8fYE8dA448Q5GesucnnlbIL3vyYtDlpKUlCjF-URyPnKwLxxqPrH20frTBoSgmyzTS5rF40KUGu5JP1aj5ewbAlGRgboPzTZlIfsRXq9qX5w8s0YsUbQ1ltBrM4_fqQ2bKWVm-ngE1D2DLB05nqmx63LcgDyTw16MxV3YfOtApQxQE0K83W1NL43vrxKdHEEFjyrYtblJIyUM7a4TCtf7BQngQp2Tel9LkkhflSCDjvhI8rdks_8gcCfr4vQSBA2Gom_YqPpWy0zj9Gj7BfuIP8ETz5",
"expireTime": 1518426050637,
"viewMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=view&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
" clickMonitorUrls ": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"position": 9,
"fidMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=app_download_success&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"cdbMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click_download&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"stdMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=app_start_download&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"download_url": "https://itunes.apple.com/cn/app/%E7%88%B1%E5%A5%87%E8%89%BA-%E6%8B%A9%E5%A4%A9%E8%AE%B0-%E6%AC%A2%E4%B9%90%E9%A2%82%E7%AC%AC%E4%BA%8C%E5%AD%A35%E6%9C%88%E7%83%AD%E6%92%AD/id393765873?mt=8",
"aid": 100109549
}
4.2.2.4.5 下载类小图
图 4-2-7 下载类小图广告样式
【推荐交互方式】
- 下载按钮交互
(1)Android 点击下载按钮交互
a. 点击下载按钮静默开始下载 APP 安装包,toast 视图显示:“开始下载”。在下载过程显示下载完成的进度。
b. 完成下载后,自动跳转安装界面;
c. 若安装包已经完成下载,下载控件显示:“立即安装”。点击“立即安装“安装应用包。
d. 安装完成后,右下角控件显示:“打开”。点击“打开“控件打开应用。
(2) iOS 点击下载按钮交互
a. 点击下载按钮,唤起 APP STORE 中的下载页面,完成广告的下载、安装操作
- 其他交互
(1)当用户点击标题、图片、广告来源区域时,跳转广告落地页
字段名 | 字段类型 | 是否必须 | 描述 |
ctype | String | 是 | 卡片类型。advertisement为广告卡片 |
adsfrom | String | 是 | 广告来源标记。日志上报时将用到此字段 |
summary | String | 是 | (广告图片上方)广告标题 |
source | String | 是 | (广告图片下方)广告主名称 |
image | Array | 是 | 广告图片url。图片大小1000px *500px |
url | String | 是 | 落地页url。 用途:1. 点击广告后的跳转地址 2. 日志上报 |
actionUrl | String | 是 | Android应用包的存储地址,Android系统上点击下载按钮应跳转此地址 |
download_url | String | 是 | iOS应用在app store中的下载链接,iOS系统上点击下载按钮应跳转此地址 |
pn | String | 是 | Android应用包名 |
aid | Int | 是 | 广告ID。日志上报时将用到此字段 |
ex | String | 是 | 回传加密字段。日志上报时将用到此字段 |
template | Int | 是 | 广告模板号。用途:1. 区分广告展示样式; 2. 日志上报也会用到该字段;3:展示类大图; 4:展示类小图; 40:展示类组图; 21:下载类大图; 25:下载类小图; 31:下载类组图 |
viewMonitorUrls | Array | 否 | 展示监控url。 用途:1. 广告曝光后向此监控中的链接一一发起请求;2. 曝光行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
clickMonitorUrls | Array | 否 | 点击监控url。 用途:1. 广告点击后向此监控中的链接一一发起请求;2. 点击行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
stdMonitorUrls | Array | 否 | 开始下载事件监控url。 用途:1. 安装包开始下载时向此监控中的链接一一发起请求;2. 开始下载行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
fidMonitorUrls | Array | 否 | 下载完成事件监控url。 用途:1. 安装包下载完成时向此监控中的链接一一发起请求;2. 下载完成行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
cdbMonitorUrls | Array | 否 | 下载完成事件监控url。 用途:1. 点击“立即下载”时向此监控中的链接一一发起请求;2. 点击“立即下载”完成行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控)) |
position | Int | 否 | 广告投放位置。日志上报时将用到此字段 |
expireTime | Long | 否 | 广告失效时间。日志上报时将用到此字段 |
示例:
{
"ctype": "advertisement",
"adsfrom": "lingxi",
"summary": "最快3分钟借50000元的借钱妙招曝光!",
"source": "平安普惠",
"image": "https://image-ads.yidianzixun.com/static/xxxx.jpg",
"url": "http://yidianzixun.com",
"aid": 522443411,
"actionUrl": "https://app-ads.yidianzixun.com/static/xxxx.apk",
"template": "25",
"pn": "com.xxxx.custom",
"ex": "t0IiovztzZROkl2bV__GqB21L9G96_cSMkQC8XHJufjQ5L89INrz4qBt8P9gPiVtWieTIl4qzHXBfWIxGJOMEsj3oBnfjxYWckERkrVV5x_2pl_YqICjV9643agQUvCsHaoOp8fd_18lL-rACTscmxp8uyQ2tONSgx1MCBFrw1QFxm6JIApnbMMvNY4IbqsVbbexC8iAEQRxBJr9FzzlYeHMh9-9UIY6HxHM0VlVKaooFrrnpiKC1eARKTUU9p85Scal7hX1ooGAifPIythZ4GfLEDFd9fy9fRwBq7YzxjgN7GRlvtIdxPB4Q64-bq_tnWD6xLo1sRosxrJU-LkLqlaP1-whFJ3wSyyLQSYxz1NVAKdKk3m7qjuWMn06ek9WwfnwrbFwRFTUYNa7c1jiiHebCLCENTC8o5-RAt3_h73ctSp2rpDAALmYlVg8hkOYMK5HHQvSIju5N1fC8YCdgFGtusOKhWR1f-NXG2FrAlMm0eeplWpBK1M0l0tM86QFBFsTW4FOaBRxJWJlLyYVk-dT5T-muqW6PEF-OwzbVKxj14anT4bG9IRcPyt2QVrQ4eOQTJWvSiro75VRtD41wcld_VI6puhrl_fX0B7huR94oHf40nGYCMtoRTZNySYaI2uuQ4UbMo9_N2QawFbwyA",
"expireTime": 1785543540000,
"viewMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=view&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"clickMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"position": 3,
"download_url": "https://itunes.apple.com/cn/app/%E7%88%B1%E5%A5%87%E8%89%BA-%E6%8B%A9%E5%A4%A9%E8%AE%B0-%E6%AC%A2%E4%B9%90%E9%A2%82%E7%AC%AC%E4%BA%8C%E5%AD%A35%E6%9C%88%E7%83%AD%E6%92%AD/id393765873?mt=8",
"fidMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=app_download_success&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"cdbMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click_download&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"stdMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=app_start_download&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
]
}
4.2.2.4.6 下载类组图
图 4-2-8 下载类组图广告样式
【推荐交互方式】
- 下载按钮交互
(1)Android 点击下载按钮交互
a. 点击下载按钮静默开始下载 APP 安装包,toast 视图显示:“开始下载”。在下载过程显示下载完成的进度。
b. 完成下载后,自动跳转安装界面;
c. 若安装包已经完成下载,下载控件显示:“立即安装”。点击“立即安装“安装应用包。
d. 安装完成后,右下角控件显示:“打开”。点击“打开“控件打开应用.
(2)iOS 点击下载按钮交互
a. 点击下载按钮,唤起 APP STORE 中的下载页面,完成广告的下载、安装操作
- 其他交互
(1) 当用户点击标题、图片、广告来源区域时,跳转广告落地页.
字段名 | 字段类型 | 是否必须 | 描述 |
ctype | String | 是 | 卡片类型。advertisement为广告卡片 |
adsfrom | String | 是 | 广告来源标记。日志上报时将用到此字段 |
summary | String | 是 | (广告图片上方)广告标题 |
source | String | 是 | (广告图片下方)广告主名称 |
image_urls | Array | 是 | 广告图片url。共3张图片,大小均为480px *320px |
url | String | 是 | 落地页url。 用途:1. 点击广告后的跳转地址 2. 日志上报 |
actionUrl | String | 是 | Android应用包的存储地址,Android系统上点击下载按钮应跳转此地址 |
download_url | String | 是 | iOS应用在app store中的下载链接,iOS系统上点击下载按钮应跳转此地址 |
pn | String | 是 | Android应用包名 |
aid | Int | 是 | 广告ID。日志上报时将用到此字段 |
ex | String | 是 | 回传加密字段。日志上报时将用到此字段 |
template | Int | 是 | 广告模板号。用途:1. 区分广告展示样式; 2. 日志上报也会用到该字段;3:展示类大图; 4:展示类小图; 40:展示类组图; 21:下载类大图; 25:下载类小图; 31:下载类组图 |
viewMonitorUrls | Array | 否 | 展示监控url。 用途:1. 广告曝光后向此监控中的链接一一发起请求;2. 曝光行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
clickMonitorUrls | Array | 否 | 点击监控url。 用途:1. 广告点击后向此监控中的链接一一发起请求;2. 点击行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
stdMonitorUrls | Array | 否 | 开始下载事件监控url。 用途:1. 安装包开始下载时向此监控中的链接一一发起请求;2. 开始下载行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
fidMonitorUrls | Array | 否 | 下载完成事件监控url。 用途:1. 安装包下载完成时向此监控中的链接一一发起请求;2. 下载完成行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
cdbMonitorUrls | Array | 否 | 点击“立即下载”事件监控url。 用途:1. 点击“立即下载”时向此监控中的链接一一发起请求;2. 点击“立即下载”完成行为发生时,请求此链接,完成以下2个上报:A 广告日志上报(结尾为ads_log的链接);B 第三方监控上报(除结尾为ads_log的链接外的链接,均为第三方监控链接,若无,则不用上报监控) |
position | Int | 否 | 广告投放位置。日志上报时将用到此字段 |
expireTime | Long | 否 | 广告失效时间。日志上报时将用到此字段 |
注:
1.返回的广告卡片中可能包含在上面表格中列出的以外的字段,那些均为一点资讯保留字段,开发者可忽略。
2.该广告样式与其他大多数广告样式不同,广告标题字段为 summary 而非 title。
示例:
{
"ctype": "advertisement",
"adsfrom": "lingxi",
"source": "卡卡贷",
"image_urls": [
"https://image-ads.yidianzixun.com/static/CmcRYlmWvf6AR74eAACQvQylZwg948/74278483.jpg",
"https://image-ads.yidianzixun.com/static/CmcRYVmWvgOABEOKAADBU0YUeu8917/32968069.jpg",
"https://image-ads.yidianzixun.com/static/CmcRYlmWvgaACUEtAAC_9fFsqJo213/68594421.jpg"
],
"summary": "惊呆了,热门航线居然还降价",
"url": "http://yidianzixun.com",
"aid": 531814363,
"actionUrl": "https://app-ads.yidianzixun.com/static/CmcRYlmWviCAWLW9AVBRBMM8GVY132/61790804.apk",
"pn": "com.xxxx.android",
"template": "31",
"ex": "t0IiovztzZROkl2bV__GqB21L9G96_cSMkQC8XHJufjQ5L89INrz4qBt8P9gPiVtWieTIl4qzHXBfWIxGJOMEsj3oBnfjxYWckERkrVV5x_2pl_YqICjV9643agQUvCsHaoOp8fd_18lL-rACTscmxp8uyQ2tONSgx1MCBFrw1QJzQ0-fl7rlVgawgfO7TuCbbexC8iAEQRxBJr9FzzlYeHMh9-9UIY6HxHM0VlVKaooFrrnpiKC1eARKTUU9p85Scal7hX1ooGAifPIythZ4GfLEDFd9fy9fRwBq7YzxjgN7GRlvtIdxPB4Q64-bq_tnWD6xLo1sRosxrJU-LkLqlaP1-whFJ3wSyyLQSYxz1NVAKdKk3m7qjuWMn06ek9WwfnwrbFwRFTUYNa7c1jiiHebCLCENTC8o5-RAt3_h73ctSp2rpDAALmYlVg8hkOYMK5HHQvSIju5N1fC8YCdgFGtusOKhWR1f-NXG2FrAlMm0eeplWpBK1M0l0tM86QFBFsTW4FOaBRxJWJlLyYVk-dT5T-muqW6PEF-OwzbVKxj14anT4bG9IRcPyt2QVrQ4eOQTJWvSiro75VRtD41wcld_VI6puhrl_fX0B7huR94oHf40nGYCMtoRTZNySYaI2uuQ4UbMo9_N2QawFbwyA",
"expireTime": 1785544440000,
"viewMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=view&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"clickMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"fidMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=app_download_success&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"cdbMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=click_download&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"stdMonitorUrls": [
"http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=app_start_download&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0",
"http://v.admaster.com.cn/c/a61050,b843391,c3149,i0,m101,h,0a__OS__,0c__IMEI__,0d__AndroidID__,n__MAC__,o__OUID__,z__IDFA__,f__IP__,t__TS__,r__TERM__,l__LBSS__"
],
"position": 9,
"download_url": "https://itunes.apple.com/cn/app/%E5%B0%8F%E7%BA%A2%E4%B9%A6-%E5%85%A8%E4%B8%96%E7%95%8C%E7%9A%84%E5%A5%BD%E4%B8%9C%E8%A5%BF/id741292507?mt=8"
}
4.2.3 错误码
错误码 | 错误原因 | 说明 |
0 | 无 | 成功返回 |
10 | 缺少参数 | 缺少必须的参数 |
23 | 认证失败 | 密文验证失败 |
24 | 时间戳非法 | 时间戳出错,与当前服务器时间相差超过5分钟 |
30 | 应用状态不正确 | 应用申请没有通过,或者已经关闭 |
31 | 应用不存在 | appid错误,找不到对应的应用 |
33 | 应用类型错误 | 应用类型不正确 |
34 | 无权访问此频道 | 没有开放此频道,需向管理员申请 |
35 | 没有新闻返回 | 请求内部新闻服务出错 |
38 | 用户登录或注册失败 | 第三方用户转换一点用户失败 |
4.3 广告日志上报接口
发送广告日志的接口,接口中不对日志进行解析和有效性检验,只负责转发,如转发失败,客户端可以重试。
4.3.1 上报时机说明
当广告被曝光、点击、开始下载、完成下载等事件发生时,需上报对应的广告日志。
事件 | 上报时机说明 | 需上报此日志的广告模版 | 发送日志时,请求广告物料中的链接对应字段 |
广告曝光 | 1. 广告进入视野范围内上报;2. 广告卡片滑出屏幕,又再次划入时需上报;3. 从文章页、广告落地页返回至信息流时不上报 | 展示类大图、展示类组图、展示类小图下载类大图、下载类组图、下载类小图w | viewMonitorUrls |
广告点击 | 广告被点击时上报 | 展示类大图、展示类组图、展示类小图下载类大图、下载类组图、下载类小图 | clickMonitorUrls |
广告前端与“下载”相关的控件被点击 | 仅Android,点击“立即下载”控件时上报 | 下载类大图、下载类组图、下载类小图 | cdbMonitorUrls |
安装包开始下载 | 仅Android,安装包开始下载时上报 | 下载类大图、下载类组图、下载类小图 | stdMonitorUrls |
安装包完成下载 | 仅Android,安装包完成下载时上报 | 下载类大图、下载类组图、下载类小图 | fidMonitorUrls |
开始吊起 | 仅deeplink广告需要上报开始调起监控链接 | 展示类大图、展示类组图、展示类小图 | alMonitorUrls |
吊起成功 | 仅deeplink广告需要上报调起成功监控链接 | 展示类大图、展示类组图、展示类小图 | alsMonitorUrls |
吊起失败 | 仅deeplink广告需要上报调起失败监控链接 | 展示类大图、展示类组图、展示类小图 | alfMonitorUrls |
4.3.2 日志上报方法
当相关事件发生时,根据一点资讯返回的广告物料中的链接来进行日志上报。
例如:上报曝光日志,当发生曝光行为时,请求广告物料中 viewmonitor_urls 中的链接, 替换相关参数,即可完成日志上报,替换举例如下:
A 替换前:
http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#appid#×tamp=#timestamp#&nonce=#nonce#&secretkey=#secretkey#&platform=1&aid=56&event=view&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0
B 替换后:
http://xxx.go2yd.com/open-api/opxxx/ads_log?action=/Ext/ads/upload-lingxi-log&appid=#s3rd_opxxx#×tamp=#xxxxx#&nonce=#xxxxx#&secretkey=#xxxxxx#&platform=1&aid=56&event=view&template=3&adsfrom=lingxi&ex=xxx&exv=1&userid=xxx&pos=2&ip=x.x.x.x&net=wifi&imei=xx&mac=&plainIdfa=&pn=&expireTime=xxx&url=https://yidianzixun.com&cv=&3rd_ad_version=1.0
请求链接时需要替换的参数如下:
4.3.2.1 广告日志接口参数
参数名 | 类型 | 是否替换 | 描述 |
appid | string | 是 | 开发者创建应用成功后,在应用详情中获取到的APPID |
timestamp | int | 是 | 时间戳,单位为秒。指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。 |
nonce | string | 是 | 随机字符串 |
secretkey | string | 是 | 根据申请成功后的APPKEY,通过加密公式计算得到secretkey。加密公式:secretkey = sha1(md5(app_key) + nonce + timestamp) |
4.3.2.2 传参方式
请使用 GET 方式。
4.3.2.3 返回值
字段名 | 类型 | 是否必须 | 描述 |
status | string | 是 | 请求成功时返回success,失败时返回fail |
code | int | 是 | 错误码,成功时返回0,其他为错误代码 |
reason | string | 否 | 错误原因,code!=0时,一定包含此字段 |
4.3.2.4 错误码
错误码 | 错误原因 | 说明 |
0 | 无 | 成功返回 |
10 | 缺少参数 | 缺少必须的参数 |
23 | 认证失败 | 密文验证失败 |
24 | 时间戳非法 | 时间戳出错,与当前服务器时间相差超过5分钟 |
25 | 存储失败 | 服务器内部错误,数据库存储失败 |
30 | 应用状态不正确 | 应用申请没有通过,或者已经关闭 |
31 | 应用不存在 | appid错误,找不到对应的应用 |
33 | 应用类型错误 | 应用类型不正确 |
37 | 广告日志转发失败,请重试 | 内部转发失败,请重试 |
4.3.3 广告测试工具自主校验
开发完成后需要使用 管理中心 =》广告测试工具 来完成日志的校验。使用广告测试工具时,在请求新闻广告列表的 url 上加上 self_test=true 的参数才能请求到用于测试的广告。
4.4 广告第三方监控上报
若返回的广告物料中有第三方监控链接,当广告被曝光、点击、开始下载、完成下载等事件发生时,除上报广告日志外,还需同时请求第三方监控链接。第三方监控链接有 请求第三方监控链接可以让广告主也统计到以上事件的发生。
监控事件 | 请求时机说明 | 需请求的第三方监控链接(在广告物料中) |
广告曝光 | (与广告曝光的日志上报时机相同)1. 广告进入视野范围内上报;2. 广告卡片滑出屏幕,又再次划入时需上报;3. 从文章页、广告落地页返回至信息流时不上报 | viewMonitorUrls |
广告点击 | (与广告点击的日志上报时机相同)用户点击广告 | clickMonitorUrls |
应用开始下载 | (与广告安装包开始下载的日志上报时机相同)仅Android,安装包开始下载时上报 | stdMonitorUrls |
应用下载完成 | (与广告安装包下载完成的日志上报时机相同)仅Android,安装包完成下载时上报 | fidMonitorUrls |
点击“立即下载” 按钮 | (与广告点击“立即下载”按钮完成的日志上报时机相同)仅Android,点击“立即下载”控件时上报 | cdbMonitorUrls |
开始吊起 | 仅deeplink广告需要上报开始调起监控链接 | alMonitorUrls |
吊起成功 | 仅deeplink广告需要上报调起成功监控链接 | alsMonitorUrls |
吊起失败 | 仅deeplink广告需要上报调起失败监控链接 | alfMonitorUrls |
4.4.2 第三方监控链接中的参数替换
(1)请求第三监控链接前,需要将链接中带有的宏参数按一定的规则进行替换,然后再请求该链接,替换规则如下表所示. (2)有时广告主会将点击监控链接放在广告落地页 url 中,所以广告在跳转落地页前,如落地 url 中如有宏参数,也一并按如下规则替换. (3)获取不到对应值的宏参数,可以不替换.
替换参数 | 含义 | 格式和示例 |
__OS__ | 用户终端的操作系统 类型 | 各种操作系统对应的替换值, Android:0; iOS:1; WP:2; 其他:3 |
__IP__ | 媒体投放系统获取的 用户终端的公网 IP 地址,用于比对智能 路由 IP 差异 | A.B.C.D(4 段点 分),如 12.34.56.78 |
__IMEI__ | 用户终端的 IMEI | 用md5sum 摘要进行替换 |
__MAC__ | 用户终端的 eth0 接 口的 MAC 地址 (大写去除冒号分隔 符),md5 加密 | 取 md5sum 摘要进行替换,去除分隔符”:",并保持大写 |
__IDFA__ | iOS IDFA, Android 可使用 Android Advertising ID | iOS系统才进行替换,用原始idfa进行替换 |
__ANDROIDID__ | ANDROIDID:AndroidID取MD5摘要 | |
__AndroidID__ | 用户终端的 AndroidID,md5 加 密 | 用md5sum 摘要进行替换 |
__TS __ | 客户端触发监测的时间,用于计算离线监测时间 | UTC 时间戳,自 1970 年起的毫秒数(13位数字) |
__TERM__ | 用户终端的机型 | 字符串,需 escape 转义 |
__APP__ | APP名称,如果为中文请使用UTF-8编码并进行URL encode(百分号转码)。 | yidian |
4.5 文章负反馈接口
文章负反馈,用户不喜欢某篇文章。
4.5.1 参数
4.5.1.1 参数说明
参数名 | 类型 | 是否必须 | 描述 |
appid | string | 是 | 开发者创建应用成功后,在应用详情中获取到的APPID |
timestamp | int | 是 | 时间戳,单位为秒。指格林威治事件1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。 |
nonce | string | 是 | 随机字符串 |
secretkey | string | 是 | 根据申请成功后的APPKEY,通过加密公式计算得到secretkey。加密公式:secretkey = sha1(md5(app_key) + nonce + timestamp) |
docid | string | 是 | 文章id |
yd_userid | string | 是 | 接口中返回的一点内部生成的用户id |
reason | string | 是 | 不喜欢的原因,在新闻列表的接口的返回值中新闻卡片中带有dislike_reasons字段,选择其中的一项作为原因返回 |
示例:
curl -X GET \ 'https://o.go2yd.com/open-api/sample/dislike_news?appid=AU6ZgkelSrf1XQ-IbQnNjQgi×tamp=1605494073&nonce=nTKhmm9ON&secretkey=541f54fc5b8f9fe0dc725393167b94f801b0f290&3rd_userid=53eac1692411e69c45e77bb3ac4efe23&version=010000&net=wifi&platform=android&cv=2.0.4&docid=0RsxmYvb&yd_userid=-2736892128&reason'
4.5.1.2 传参方式
请使用 GET 方式。
4.5.2 返回值
字段名 | 类型 | 是否必须 | 描述 |
status | string | 是 | 请求成功时返回success,失败时返回fail |
code | int | 是 | 错误码,成功时返回0,其他为所无代码 |
reason | string | 否 | 错误原因,code!=0时,一定包含此字段 |
4.5.3 错误码
错误码 | 错误原因 | 说明 |
0 | 无 | 成功返回 |
10 | 缺少参数 | 缺少必须的参数 |
23 | 认证失败 | 密文验证失败 |
24 | 时间戳非法 | 时间戳出错,与当前服务器时间相差超过5分钟 |
25 | 存储失败 | 服务器内部错误,数据库存储失败 |
30 | 应用状态不正确 | 应用申请没有通过,或者已经关闭 |
31 | 应用不存在 | appid错误,找不到对应的应用 |
33 | 应用类型错误 | 应用类型不正确 |
4.6 获取频道列表接口
通过此接口,可以获取订阅频道列表(在开放平台配置)。
4.6.1 参数
4.6.1.1 参数说明
参数名 | 类型 | 是否必须 | 描述 |
appid | string | 是 | 开发者创建应用成功后,在应用详情中获取到的APPID |
timestamp | int | 是 | 时间戳,单位为秒。指格林威治事件1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。 |
nonce | string | 是 | 随机字符串 |
secretkey | string | 是 | 根据申请成功后的APPKEY,通过加密公式计算得到secretkey。加密公式:secretkey = sha1(md5(app_key) + nonce + timestamp) |
4.6.1.2 传参方式
请使用 GET 方式。
4.6.1.3 获取本地频道
目前开放了 200 多个城市,城市名称具体见本地城市列表。本地频道需要由开发者自己完成定位功能并转换成对应的城市名称,通过 city 参数告知接口。 如:目前已经定位到用户在北京,在请求的 url 中需要包含如下参数 channel=本地&city=北京。
频道名称 | |||||||
安徽省安庆市 | 广东省潮州市 | 贵州省六盘水市 | 黑龙江省黑河市 | 吉林省四平市 | 辽宁省辽阳市 | 山西省晋城市 | 四川省自贡市 |
安徽省蚌埠市 | 广东省东莞市 | 贵州省铜仁市 | 黑龙江省鸡西市 | 吉林省松原市 | 辽宁省盘锦市 | 山西省晋中市 | 天津市天津市 |
安徽省亳州市 | 广东省佛山市 | 贵州省遵义市 | 黑龙江省佳木斯市 | 吉林省通化市 | 辽宁省铁岭市 | 山西省临汾市 | 西藏自治区昌都市 |
安徽省池州市 | 广东省广州市 | 海南省儋州市 | 黑龙江省牡丹江市 | 吉林省长春市 | 辽宁省营口市 | 山西省吕梁市 | 西藏自治区拉萨市 |
安徽省滁州市 | 广东省河源市 | 海南省海口市 | 黑龙江省七台河市 | 江苏省常州市 | 内蒙古自治区巴彦淖尔市 | 山西省朔州市 | 西藏自治区林芝市 |
安徽省阜阳市 | 广东省惠州市 | 海南省三沙市 | 黑龙江省齐齐哈尔市 | 江苏省淮安市 | 内蒙古自治区包头市 | 山西省太原市 | 西藏自治区那曲市 |
安徽省合肥市 | 广东省江门市 | 海南省三亚市 | 黑龙江省双鸭山市 | 江苏省连云港市 | 内蒙古自治区赤峰市 | 山西省忻州市 | 西藏自治区日喀则市 |
安徽省淮北市 | 广东省揭阳市 | 河北省保定市 | 黑龙江省绥化市 | 江苏省南京市 | 内蒙古自治区鄂尔多斯市 | 山西省阳泉市 | 西藏自治区山南市 |
安徽省淮南市 | 广东省茂名市 | 河北省沧州市 | 黑龙江省伊春市 | 江苏省南通市 | 内蒙古自治区呼和浩特市 | 山西省运城市 | 新疆维吾尔自治区哈密市 |
安徽省黄山市 | 广东省梅州市 | 河北省承德市 | 湖北省鄂州市 | 江苏省苏州市 | 内蒙古自治区呼伦贝尔市 | 山西省长治市 | 新疆维吾尔自治区克拉玛依市 |
安徽省六安市 | 广东省清远市 | 河北省邯郸市 | 湖北省黄冈市 | 江苏省宿迁市 | 内蒙古自治区通辽市 | 陕西省安康市 | 新疆维吾尔自治区吐鲁番市 |
安徽省马鞍山市 | 广东省汕头市 | 河北省衡水市 | 湖北省黄石市 | 江苏省泰州市 | 内蒙古自治区乌海市 | 陕西省宝鸡市 | 新疆维吾尔自治区乌鲁木齐市 |
安徽省宿州市 | 广东省汕尾市 | 河北省秦皇岛市 | 湖北省荆门市 | 江苏省无锡市 | 内蒙古自治区乌兰察布市 | 陕西省汉中市 | 云南省保山市 |
安徽省铜陵市 | 广东省韶关市 | 河北省石家庄市 | 湖北省荆州市 | 江苏省徐州市 | 宁夏回族自治区固原市 | 陕西省商洛市 | 云南省昆明市 |
安徽省芜湖市 | 广东省深圳市 | 河北省唐山市 | 湖北省十堰市 | 江苏省盐城市 | 宁夏回族自治区石嘴山市 | 陕西省铜川市 | 云南省丽江市 |
安徽省宣城市 | 广东省阳江市 | 河北省邢台市 | 湖北省随州市 | 江苏省扬州市 | 宁夏回族自治区吴忠市 | 陕西省渭南市 | 云南省临沧市 |
北京市北京市 | 广东省云浮市 | 河北省张家口市 | 湖北省武汉市 | 江苏省镇江市 | 宁夏回族自治区银川市 | 陕西省西安市 | 云南省普洱市 |
福建省福州市 | 广东省湛江市 | 河北省廊坊市 | 湖北省咸宁市 | 江西省抚州市 | 宁夏回族自治区中卫市 | 陕西省咸阳市 | 云南省曲靖市 |
福建省龙岩市 | 广东省肇庆市 | 河南省安阳市 | 湖北省襄阳市 | 江西省赣州市 | 青海省海东市 | 陕西省延安市 | 云南省玉溪市 |
福建省南平市 | 广东省中山市 | 河南省鹤壁市 | 湖北省孝感市 | 江西省吉安市 | 青海省西宁市 | 陕西省榆林市 | 云南省昭通市 |
福建省宁德市 | 广东省珠海市 | 河南省焦作市 | 湖北省宜昌市 | 江西省景德镇市 | 山东省滨州市 | 上海市上海市 | 浙江省杭州市 |
福建省莆田市 | 广西壮族自治区百色市 | 河南省开封市 | 湖南省常德市 | 江西省九江市 | 山东省德州市 | 四川省巴中市 | 浙江省湖州市 |
福建省泉州市 | 广西壮族自治区北海市 | 河南省洛阳市 | 湖南省郴州市 | 江西省南昌市 | 山东省东营市 | 四川省成都市 | 浙江省嘉兴市 |
福建省三明市 | 广西壮族自治区崇左市 | 河南省漯河市 | 湖南省衡阳市 | 江西省萍乡市 | 山东省菏泽市 | 四川省达州市 | 浙江省金华市 |
福建省厦门市 | 广西壮族自治区防城港市 | 河南省南阳市 | 湖南省怀化市 | 江西省上饶市 | 山东省济南市 | 四川省德阳市 | 浙江省丽水市 |
福建省漳州市 | 广西壮族自治区贵港市 | 河南省平顶山市 | 湖南省娄底市 | 江西省新余市 | 山东省济宁市 | 四川省广安市 | 浙江省宁波市 |
甘肃省白银市 | 广西壮族自治区桂林市 | 河南省濮阳市 | 湖南省邵阳市 | 江西省宜春市 | 山东省莱芜市 | 四川省广元市 | 浙江省衢州市 |
甘肃省定西市 | 广西壮族自治区河池市 | 河南省三门峡市 | 湖南省湘潭市 | 江西省鹰潭市 | 山东省聊城市 | 四川省乐山市 | 浙江省绍兴市 |
甘肃省嘉峪关市 | 广西壮族自治区贺州市 | 河南省商丘市 | 湖南省益阳市 | 辽宁省鞍山市 | 山东省临沂市 | 四川省泸州市 | 浙江省台州市 |
甘肃省金昌市 | 广西壮族自治区来宾市 | 河南省新乡市 | 湖南省永州市 | 辽宁省本溪市 | 山东省青岛市 | 四川省眉山市 | 浙江省温州市 |
甘肃省酒泉市 | 广西壮族自治区柳州市 | 河南省信阳市 | 湖南省岳阳市 | 辽宁省朝阳市 | 山东省日照市 | 四川省绵阳市 | 浙江省舟山市 |
甘肃省兰州市 | 广西壮族自治区南宁市 | 河南省许昌市 | 湖南省张家界市 | 辽宁省沈阳市 | 山东省泰安市 | 四川省南充市 | 重庆市重庆市 |
甘肃省陇南市 | 广西壮族自治区钦州市 | 河南省郑州市 | 湖南省长沙市 | 辽宁省大连市 | 山东省威海市 | 四川省内江市 | |
甘肃省平凉市 | 广西壮族自治区梧州市 | 河南省周口市 | 湖南省株洲市 | 辽宁省丹东市 | 山东省潍坊市 | 四川省攀枝花市 | |
甘肃省庆阳市 | 广西壮族自治区玉林市 | 河南省驻马店市 | 吉林省白城市 | 辽宁省抚顺市 | 山东省烟台市 | 四川省遂宁市 | |
甘肃省天水市 | 贵州省安顺市 | 黑龙江省大庆市 | 吉林省白山市 | 辽宁省阜新市 | 山东省枣庄市 | 四川省雅安市 | |
甘肃省武威市 | 贵州省毕节市 | 黑龙江省哈尔滨市 | 吉林省吉林市 | 辽宁省葫芦岛市 | 山东省淄博市 | 四川省宜宾市 | |
甘肃省张掖市 | 贵州省贵阳市 | 黑龙江省鹤岗市 | 吉林省辽源市 | 辽宁省锦州市 | 山西省大同市 | 四川省资阳市 |
4.6.2 返回值
字段名 | 类型 | 是否必须 | 描述 |
status | string | 是 | 请求成功时返回success,失败时返回fail |
code | int | 是 | 错误码,成功时返回0,其他为错误代码 |
reason | string | 否 | 错误原因,code!=0时,一定包含此字段 |
示例:
{
"status": "success",
"code": 0,
"channels": [
{
"channel_name": "热点"
},
{
"channel_name": "社会"
},
{
"channel_name": "娱乐"
},
{
"channel_name": "体育"
},
{
"channel_name": "NBA"
},
{
"channel_name": "财经"
},
{
"channel_name": "科技"
},
{
"channel_name": "民生"
},
{
"channel_name": "健康"
},
{
"channel_name": "时尚"
},
{
"channel_name": "汽车"
},
{
"channel_name": "搞笑"
},
{
"channel_name": "视频"
},
{
"channel_name": "游戏"
},
{
"channel_name": "旅游"
},
{
"channel_name": "科学"
},
{
"channel_name": "互联网"
},
{
"channel_name": "趣图"
},
{
"channel_name": "美食"
},
{
"channel_name": "星座"
},
{
"channel_name": "育儿"
},
{
"channel_name": "情感"
},
{
"channel_name": "房产"
}
]
}
4.6.3 错误码
错误码 | 错误原因 | 说明 |
0 | 无 | 成功返回 |
10 | 缺少参数 | 缺少必须的参数 |
23 | 认证失败 | 密文验证失败 |
24 | 时间戳非法 | 时间戳出错,与当前服务器时间相差超过5分钟 |
25 | 存储失败 | 服务器内部错误,数据库存储失败 |
30 | 应用状态不正确 | 应用申请没有通过,或者已经关闭 |
31 | 应用不存在 | appid错误,找不到对应的应用 |
33 | 应用类型错误 | 应用类型不正确 |
5.客户端调用方法
方法名称 | 功能解释 |
IOS: webView.mediaPlaybackRequiresUserAction = NO;//默认值为YES 参考文档: https://developer.apple.com/documentation/uikit/uiwebview#//apple_ref/occ/instp/UIWebView/mediaPlaybackRequiresUserAction Android: webView.getSettings().setMediaPlaybackRequiresUserGesture(false); //默认值为true 参考文档: https://developer.android.com/reference/android/webkit/WebSettings.html#setMediaPlaybackRequiresUserGesture(boolean) | 出于兼容性考虑,为了支持视频在 wifi 环境下自动播放的配置生效,需要在客户端按照左侧描述修改 webView 配置 |