DCloud_App_Array
DCloud_App_Array
  • 发布:2016-06-03 17:21
  • 更新:2016-06-03 17:21
  • 阅读:8344

如何通过应用A给流应用B导流

分类:流应用

传统的应用A导应用B,比如积分墙、换量广告、各种广告sdk....他们的导流效率是非常低的。
因为原生App的下载、安装、启动有很高的门槛,进一步导致广告的效果很差。

但如果应用B是一款流应用,就可以大幅降低折损,提升广告投放效果。
流应用的下载、安装、启动是三合一的,并且全过程完成时间在2-5秒之间,非常快。调了下面的代码,如果手机上已经有了流应用B,则启动之;如果没有,则安装并启动之。

如何在应用A里给流应用B导流?我们分3种情况。

  1. 应用A是5+ App,即本身是使用5+runtime打包的
  2. 应用A是流应用,即一个流应用给另一个流应用导流
  3. 应用A不是上面2种情况的普通App。

以下的示例代码里,同时判断了3种情况,先上代码

// 判断程序是否已安装  
function isInstalled(pn){  
	var main = plus.android.runtimeMainActivity();  
	var pm = main.getPackageManager();  
	var PackageManager = plus.android.importClass(pm);  
	try{  
		var pi = pm.getPackageInfo(pn,PackageManager.GET_ACTIVITIES);  
		if(pi){  
			return true;  
		}  
	}catch(e){  
	}  
	return false;  
}  
function openStream(id){  
	if(navigator.userAgent.indexOf('Html5Plus')<0){//非5+环境  
		location.href='http://m3w.cn/s/'+id;  
	}else if(navigator.userAgent.indexOf('StreamApp')>=0){//流应用环境  
		plus.stream.open({appid:id});  
	}else{// 非流应用环境  
		if(isInstalled('io.dcloud.streamapps')){//安装了流应用  
			plus.runtime.openURL('streamapp://s/'+id,null,'io.dcloud.streamapps');  
		}else if(isInstalled('com.qihoo.appstore')){//安装了360手机助手  
			plus.runtime.openURL('streamapp://s/'+id,null,'com.qihoo.appstore');  
		}else{//未安装流应用环境  
			plus.runtime.openURL('http://www.dcloud.io/streamapp/');//调用系统浏览器打开流基座下载页面  
		}  
	}  
}

在5+App里安装启动流应用

userAgent中如果包含Html5Plus字符串,则表示当前运行环境支持5+ API,否则表示当前运行环境不支持5+ API。
if(navigator.userAgent.indexOf('Html5Plus')<0){//非5+环境
满足此条件则表示运行环境不支持5+ API,此时可引导用户下载流应用运行环境。

在一个流应用中安装启动另一个流应用

userAgent中如果包含StreamApp字符串(navigator.userAgent.indexOf('StreamApp')>=0),则表示当前运行环境支持流应用,此时可通过plus.stream.open方法启动流应用。

非流应用环境

在非流应用运行环境中,我们可以通过url scheme来启动流应用,目前在“360手机助手”和“流应用”应用中已内置流应用引擎,可以通过5+ API(plus.runtime.openURL)方法来启动url scheme,其格式为:
streamapp://s/%APPID%
其中%APPID%为要启动的流应用APPID。
注意上面的示例代码是js的,实际在原生App中想调起流应用,需要写原生代码,原理也还是url schemes。

注:isInstalled方法使用native.js来判断当前设备上是否安装指定包名的应用。

启动流应用时如何传递参数

如果要调起同时传递参数,那么在调起url后面直接加问号参数。这个是启动大众点评外卖并进入某饭馆的url
:http://m3w.cn/s/H5BCD03E4?scene=share&arg=page%3Dshop%26id%3D2380186&__streamapp 。
这样的参数在启动后,可以通过plus.runtime这个api接收http://html5plus.org/doc/zh_cn/runtime.html#plus.runtime.arguments
这种机制,可以实现内容直达,尤其适合分享直通车等业务场景。

常见需调起的流应用的appid

手机京东 __W2A__m.sjjd.com
淘宝 __W2A__m.taobao.com
美团 __W2A__meituan.com
卖座电影 H5A0B1958
e代驾 __W2A__edaijia.cn
唯品会 H52588A9C
一号店 __W2A__m.yhd.com
去哪儿旅行 __W2A__H5E349CB7
携程酒店 H5B5EEFBB
途牛机票 __W2A__H56B3FED7
艺龙旅行网 __W2A__m.elong.com
趣趣游戏 H5E7A7BE6
传奇世界 H55269FFC
决战沙城  H54AA3D1F

如果你的app流量较大,希望变现,可以邮件stream@dcloud.io,我们与列表里的这些开发商都有商务推广分成协议。
比如在你的app中给手机京东流应用导流,产生的订单你就可以拿到提成。

1 关注 分享
菜鸡

要回复文章请先登录注册