vivo广告投放平台应用Deeplink说明
一、Deeplink简介
DeepLink技术为广告主提供拉活广告服务。通过DeepLink跳转,用户可通过广告,直达其他App的活动页;可以为其他App带入用户,来提升产品活跃度。
二、接入说明
主要步骤 • 有android App • 接入的App支持scheme调起 • 接入App有对应的H5或Wap页(对应广告活动页面) • WAP与APP调起内容体验一致 • 支持一键返回
接入注意事项 • 接入广告主的App须提供支持的DeepLink跳转链接给广告平台。 • vivo会在deeplink链接上拼接回调链接(backurl)。 • 从vivo广告 DeepLink跳转到广告主应用时,调起链接为deeplink链接+回调链接,接入方须支持点击返回按钮,deepLink直接跳转回vivo相关媒体。 • 接入App不能修改vivo给出的回调链接。 • 接入App需考虑回调vivo失败情况。 • 接入App根据本文档4-2),实现安全跳转。 • 支持宏替换字段:
宏字段含义加密方式__REQUESTID__请求id明文__CREATIVEID__创意ID明文__OS__客户端操作系统的类型明文__IMEI__用户终端的IMEIMD5__IP__媒体投放系统获取的用户终端的公网IP地址MD5__OAID__Android Q及以上版本的设备均获取OAIDMD5
返回按钮主要改动点 本次对接方案改动点主要在对返回按钮的要求上: • 返回按钮要求根据vivo广告平台拼接的不同“回调链接”返回到不同的媒体(如“返回vivo浏览器”、“返回vivo小视频”等); • 返回按钮文案要求根据vivo 广告平台拼接的不同”按钮名称”显示不同的返回按钮文案;按钮样式由广告主自行设计。 • 部分媒体不要求有返回按钮,需要接入广告主根据“按钮名称”、“回调链接”动态进行配置,不展示返回按钮;
接入说明
广告主接入流程如下:
deeplink回调按钮配置介绍
vivo广告平台调起广告主app的deeplink地址形式如:
上述deeplink地址由两部分组成:橙色部分是广告主的原始deeplink地址,蓝色部是经过vivo广告平台追加的两个参数:btn_name和backurl,用于回调按钮的配置
backurl****参数: __BACKURL__宏表示广告主app回调vivo媒体端的目标deeplink地址
vivo媒体deeplink调起广告主app前,对参数backurl的值__BACKURL__进行了 URLEncode操作,广告主app在获取backurl参数值__BACKURL__进行回调前,需要将__BACKURL__回调地址进行URLDecode操作.否则回调会失败.
• 支持广告主在deeplink后拼接以下四个参数进行宏替换:OS = "OS"、IMEI = "IMEI"、 "IP"、OAID = "OAID"
vivo广告平台在__BACKURL__回调地址上拼接了广告投放相关的信息,如需获取该信息,需将回调地址 URLDecode操作之后才能获取正确的参数。具体添加信息如下:
btn_name****参数:__BTN_NAME__宏表示展示在广告主app客户端返回按钮上的文案
vivo媒体deeplink调起广告主app客户端前,对参数btn_name的值__BTN_NAME__进行了 URLEncode操作,广告主app在获取btn_name参数值__BTN_NAME__进行展示前,需要将__BTN_NAME__文案进行URLDecode操作.否则悬浮按钮文案显示不正确
URLEncode示例:
1、 新老版本兼容处理
由于版本升级率因素,媒体客户端会存在部分用户版本升级不上来,这部分用户采用的是老的deeplink接入规范,其调起广告主app时,不会携带btn_name参数,此时需要广告主app的回调按钮文案统一显示为:“返回vivo”,比如以下链接就是未升级版本媒体版本调起广告主app时的deeplink地址:
2、媒体端不需要回调处理
由于部分媒体客户端不需要被回调,此时广告主客户端app不能添加回调按钮,以下情况广告主客户端不能展示回调按钮:
l backrul参数不存在时
l backurl参数值为空时
l backurl参数值仍为__BACKURL__宏时
3、DeepLink跳转安全性
Intent scheme url的引入,给恶意攻击页面通过intent-based攻击终端上已安装应用提供了便利。
应对方法,intent做严格的安全限制:
// convert intent scheme URL to intent object
Intent intent = Intent.parseUri(uri);
// forbid launching activities without BROWSABLE category
intent.addCategory("android.intent.category.BROWSABLE");
// forbid explicit call
intent.setComponent(null);
// forbid intent with selector intent
intent.setSelector(null);
// start the activity by the intent
context.startActivityIfNeeded(intent, -1);
三、调用链路
• 应用推广类广告:已安装调起deeplink • 网址类广告:选填,填写时应用已安装直接调起deeplink,未安装调起网址
四、联系我们
接入过程中遇到的问题请联系vivo浏览器合作人员,或向vivo浏览器合作人员要开发人员联系方式。
更多关于vivo广告开户、vivo广告推广方法的介绍详情官网咨询!
有任何OPPO或vivo的广告需求,欢迎与我们取得联系。
欢迎扫码添加以下微信,或者拨打电话198-9888-5878(微信同号)咨询