基本操作
京东CPS,只需要一个链接足以,这条链接放在自身的WebViewActivity中,如果设置了唤起App,则链接会返回一个打开京东App的规则字符串,我们获取到后跳转到京东App就可以了。
设置后得到一个链接,然后用自身的WebView
请求,当然也可以用系统自带的浏览器打开,可以直接唤起App。有时候我们不想用户离开自己的应用,使用自身的App的WebView
控件打开就成了首选,这里就需要配置一些参数。
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// DebugUtil.error("----url:"+url);
if (TextUtils.isEmpty(url)) {
return false;
}
if (url.startsWith("http:") || url.startsWith("https:")) {
// 可能有提示下载Apk文件
if (url.contains(".apk")) {
startActivity(url);
return true;
}
return false;
}
startActivity(url);
return true;
}
private void startActivity(String url) {
try {
Intent intent1 = new Intent();
intent1.setAction("android.intent.action.VIEW");
Uri uri = Uri.parse(url);
intent1.setData(uri);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mActivity.startActivity(intent1);
} catch (Exception e) {
e.printStackTrace();
}
}
请求京东的推广url后,会返回一串这样的URL SCHEME:openApp.jdMobile://virtual?params={参数}
这就是跳转京东页面的SCHEME
另外其他App的URL SCHEME
淘宝: taobao://
微博: weibo://qrcode
微信: weixin://scanqrcode
支付宝: alipayqr://platformapi/startapp?saId=10000007
豆瓣: douban://
京东: openApp.jdMobile://virtual?params={参数}
电话: mobilephone://
备忘录: mobilenotes://
Chrome谷歌浏览器: googlechrome://
12306订票助手: trainassist://
飞信: fetion://
豆瓣FM: doubanradio://
爱奇艺PPS: ppstream://
哔哩哔哩动画: bilibili://
56视频: com.56Video://
365日历: rili365://
58同城: wbmain://
遇见: iaround://
陌陌: momochat://
有道词典: yddict://
优酷: youku://
掌阅iReader: iReader://
天涯社区: tianya://
天气通Pro: sinaweatherpro://
天气通: sinaweather://
墨迹天气: rm434209233MojiWeather://
腾讯新闻: qqnews://
腾讯微云: weiyun://
腾讯地图: sosomap://
淘宝旅行: taobaotravel://
人人: renrenios://
阿里百川CPS与京东CPS两者对比:
CPS类别 | 是否需要SDK | WebView处理 | 打开App方式 | App左侧是否有标识 | 接入复杂程度 |
阿里百川 | 是 | 无需处理 | 通过SDK打开 | 有 | 相对复杂 |
京东 | 否 | 要处理 | 使用规则协议打开 | 无 | 简单 |