我的iOS链接已经提交给应用宝提交app了,通过微信可以跳转Appstore,但是为什么微博不行呢?

iOS/Android 浏览器(h5)及微信中唤起本地APP
在移动互联网,链接是比较重要的传播媒质,但很多时候我们又希望用户能够回到APP中,这就要求APP可以通过或在微信中被方便地唤起。
这是一个既直观又很好的用户体验,但在实现过程中会遇到各种问题:
如何解决未安装APP时的做好引导页 如何在微信中唤醒APP 在iOS9中如何处理universal link被用户误关的情况 如何解决各种机型、各种第三方浏览器导致的兼容问题等 在APP未安装情况下,引导用户下载后打开APP后,如何进入之前唤起时指定的页面或内容,即如何实现场景还原 在微信中唤醒APP时,如何进入指定的页面或内容
下面是我一些个人的经验分享。
浏览器中打开
iOS/Android APP配置
这块内容其实比较简单,在网上都有很多资料可供查阅,就不再赘述。
首先需要说明,不管iOS还是Android,浏览器都不可能预知本地是否安装了某个APP的。或者更严谨地说,我们不能通过浏览器来预知本地是否安装。因为就算浏览器可以读取本地应用的安装列表,但是目前也没任何一家浏览器提供查询的API,所以这条路是走不通的。
本质上浏览器是通过URL scheme打开APP,一个APP可以设置一个或多个打开自己的URL scheme。比如,Twitter就注册自己能被「twitter://」打开。
其实,如果是做APP间相互跳转是比较简单的。iOS就可以使用 UIApplication 的 canOpenUrl 方法来检测URL scheme 是否能打开对应的APP。比如,如果「twitter://」检测能被打开,也就说明本地安装了 Twitter 。再用 UIApplication 的 openURL 方法,就能打开Twitter了。Android 中的做法类似。
因为iOS9和之前的iOS有区别,所以这里我们也要区别对待。
iOS中默认通过Safari打开URL scheme,方法一般如下两种:
直跳方式:点击链接、修改 window.location 等。 iframe 方式:在 body 上添加 iframe,设置src属性为跳转的URL scheme。
第一种情况:
window.location.href = http://blog.csdn.net/dreamstarting/article/details/schemeU
但在第一种情况,如果APP唤醒失败,或者APP未安装的话,很多时候都会跳到错误页,这很影响用户体验,而我们的要求可能是跳转到其他页面或者下载APP。
后一种方法不会引起页面可见的变化(例如页面内容变成一个新页面),不会导致浏览器历史记录的变化,
过程是这样:点击 a 标签时,首先会尝试打开URL scheme,如果成功,就唤起APP;如果失败,则跳转到 href 属性,即下载页。
但这个方案在很多安卓机型上有问题,为保证可用,改用第一种方案:
$('a').click(function() {
location.href = '自定义 URL scheme';
t = Date.now();
setTimeout(function(){
if (Date.now() - t & 1200) {
location.href = 'Android 下载地址';
理想过程是这样:浏览器尝试打开 URL scheme,在1秒计时后,检查当前时间,如果实际时间已过 1200 毫秒,说明唤起APP 成功(唤起 APP 会让浏览器的定时器变慢);如果没超过 1200 毫秒,很可能是没有安装应用,就跳到下载地址。
或者换种方式:
var ifr = document.createElement('iframe');
ifr.src = 'com.baidu.tieba://';
ifr.style.display = 'none';
document.body.appendChild(ifr);
var openTime = +new Date();
window.setTimeout(function(){
document.body.removeChild(ifr);
if( (+new Date()) - openTime & 2500 ){
window.location = '/xxxx.apk';
但原理都是一样,利用setTimeout。但这其实不稳定,因为Android是基于的分时多任务的,setTimeout的基准偏差可能会没那么大。
但如果设置比较小的运行间隔(&30ms),在浏览器或者webview中,应用切换到后台,setInterval会被很明显的延迟执行,比如设置一个运行间隔20ms,总计运行100次的定时器,如果页面一直处于前台,则100次跑完,总耗时与 100x20=2000ms不会有太大差异,但页面在后台运行时,此时间会明显超过2000ms。可以利用这一点来实现是否成功打开APP检测及回调。
function openApp(openUrl, appUrl, action, callback) {
//检查app是否打开
function checkOpen(cb){
var _clickTime = +(new Date());
function check(elsTime) {
if ( elsTime & 3000 || document.hidden || document.webkitHidden) {
//启动间隔20ms运行的定时器,并检测累计消耗时间是否超过3000ms,超过则结束
var _count = 0, intH
intHandle = setInterval(function(){
var elsTime = +(new Date()) - _clickT
if (_count&=100 || elsTime & 3000 ) {
clearInterval(intHandle);
check(elsTime);
//在iframe 中打开APP
var ifr = document.createElement('iframe');
ifr.src = openU
ifr.style.display = 'none';
if (callback) {
checkOpen(function(opened){
callback && callback(opened);
document.body.appendChild(ifr);
setTimeout(function() {
document.body.removeChild(ifr);
另外,可以通过 document.hidden 或 document.[webkit|moz|ms]Hidden 来判断页面是否被置入后台(即应用被唤起),或visibilitychange事件,但对于Android 4.4版本一下则不支持。
在 iOS 9 上,iframe 方案变得不可用。
按不能使用之前Android的代码,因为在打开自定义 URL scheme 时,会弹出对话框,询问是否用 xx 应用来打开。往往用户还没来得及点击打开,定时器又触发了,导致跳到 App Store。
可以在尝试打开URL scheme 后,再加一个页面跳转,这样对话框会被覆盖,再刷新页面,就能无需确认唤起APP:
$('a').click(function() {
location.href = '自定义 URL scheme';
location.href = '下载页';
location.reload();
这里,下载页延时 2 秒跳转到 App Store。
APP已安装这是没问题的,但如果APP未安装,跳 App Store 的请求会失败。
这时可以使用两个定时器:
$('a').click(function() {
location.href = '自定义 URL scheme';
setTimeout(function() {
location.href = '下载页';
setTimeout(function() {
location.reload();
不过在iOS9中其实是支持universal link的,就是一个http域名形式,在微信中都可以唤起APP。如果未安装的话,可以直接引导用户去APP store下载。
没有完美的解决方案
主要是在安卓上,总归会有各种兼容问题,知乎的解决办法是,提供两个按钮,一个下载,一个打开APP,让用户自己选。
微信中打开
因为微信将唤起本地APP的接口给禁了,所以微信中是不能直接唤起APP的,一般做法是提示用户在浏览器中打开,之后的流程还是我们上面讲的内容。
但是,在iOS9中,这个限制是可以突破的,也就是说可以直接唤起APP。方法就是使用我们上文提到的universal link。
在Android和iOS8及其以下系统中,我们可以利用腾讯的亲儿子:应用宝。简单讲,就是把你的唤起地址配置成你APP的应用宝地址,微信中跳转到这个地址后,如果用户已经安装了APP,则可直接唤起,如果没有安装,则可直接点击下载,如下图示:
vce1xMG0vdOjqLHIt73LtbXjvLi31s/to6zItLK70KHQxLXju/fByyZyZHF1bzttbGlua3MuY2MmcmRxdW87o6mjrLW81sLM+LW9zeKyv+SvwMDG99bQo6zI58/CzbzL+cq+o7o8L2NvZGU+PC9jb2RlPjwvY29kZT48L2NvZGU+PC9wPg0KPHA+PGNvZGU+PGNvZGU+PGNvZGU+PGNvZGU+PGltZyBhbHQ9"这里写图片描述" src="/uploadfile/Collfiles/75.jpg" title="\" />
这时候再在微信中就打不开APP了,因为universal link已被关闭,这是iOS9的机制,没法改变,这时候用户再在微信中打开,就得需要一个中间页来引导用户在外部浏览器中打开APP,如下图所示:
另外,在微信中唤醒APP默认只能到达首页,即不能到达指定页面或内容,如果想要做,则需要额外的处理。
从以上内容可以总结出:要做一个兼容性很好的方案,就需要考虑各种情况,在不同的情况适配不同的方案,比方说用户是在手机浏览器打开还是微信中打开,或者是在pc中打开,universal link是否被关闭等,这就使代码实现变得复杂,且容易出错,且还有安卓平台机型众多、浏览器众多等导致的兼容问题。
如果觉得实现难度或者成本太高,你可以考虑使用魔窗的mLink。只要你加了魔窗的sdk,就可以通过类似&&的链接,在任何环境下打开你的APP(如果在pc机上打开,浏览器中将会出现http://blog.csdn.net/dreamstarting/article/details/APP下载地址的二维码),上面提到的问题都不复存在,并且魔窗已经兼容超过600台以上安卓机型的第三方主流浏览器。而且关键的是,不管是在手机浏览器中,还是在微信中打开,你可以指定唤起APP后直达APP中的某个页面或内容(某个促销商品等),就算用户没安装APP,点击下载安装之后,再打开,还是跳转到指定的页面,这就是场景还原,或者叫做Deffered Deep Linking。声明:本站内容部分源于网络转载,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。
如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况, 请联系本站,
Copyright (C)
| 欢迎来到杭州厨师培训以前是有方法,可以实现微信下跳转appstore的。
大概就是把url改为:http://mp./mp/redirect?url="跳转url"(可编码也可不编码);
/simonbaker/p/5197422.html
不过,微信升级后,就不能跳转了。必须到应用宝的微下载中进行申请。
具体可参考:
http://wiki./index.php?title=mobile/%E5%BA%94%E7%94%A8%E5%AE%9D%E5%BE%AE%E4%B8%8B%E8%BD%BD
阅读(...) 评论()微信朋友圈可直接下载APP 腾讯应用宝推新版“微下载”
CCTIME飞象网
作者:CCTIME飞象网
&近日,腾讯应用宝宣布正式推出新版&微下载&功能,APP可以在微信朋友圈、公众号中直接下载。今后,安卓手机用户在通过朋友分享、公众号、朋友圈下载APP时,可以通过跳转应用宝下载页直接下载,不必再手工打开应用商店搜寻,大大提升了下载效率,
这一功能也意味着拥有6亿月活跃用户的微信渠道可以成为APP开发者的新营销渠道,随着用户可以在朋友圈一键分享并下载APP,手机应用在朋友圈的病毒式传播正成为开发者的重要营销方式。
数据显示,接入应用宝的新版&微下载&功能,APP的激活转化率平均可提高40%以上。在应用宝新版&微下载&内测阶段,酷划锁屏、借贷宝、百思不得姐、贝贝母婴等应用成为首批接入APP,内测成绩显著。工具类APP酷划锁屏在接入应用宝&微下载2.0&后整体下载转化率提升80%,日激活用户达1万,相比接入前日激活提升了58%。理财类APP借贷宝在接入&微下载&后,整体下载转化率提升60%,日激活用户提升了81%。有效带动了开发者应用的用户增长。
图1:新版微下载页面可分享至朋友圈并展示APP的优惠券、用户评论
据介绍,此次新版应用宝&微下载&是对此前旧版微下载的全新优化,为开发者提供模块自定义能力。开发者可将应用中的礼包、优惠券、用户评论等元素添加至下载页面,页面中还接入社交推荐,显示多少QQ好友在玩,用户在朋友圈下载应用的同时,还能获得礼包、优惠券等福利,发现哪些好友与自己在玩同一款应用。
图2:通过微信公众号下载APP将跳转至微下载页面一键下载
腾讯应用宝&微下载2.0&功能现已面向开发者开放,开发者可登录腾讯开放平台官网(/)进行接入,享受应用宝带来的社交化推广服务。据了解,&微下载&能力也打通了苹果和安卓两大系统,用户点击后,Android用户将进入应用宝界面,而IOS用户则进入App Store。开发者也可以更好地管理和聚拢平台资源,降低产品和运营成本。
社交网络正带来前所未有的海量用户与流量。应用宝&微下载&2.0新版通过激活微信营销下载能力,将社交红利带给应用开发者。一方面,&微下载&2.0新版利用了微信传播的社交属性,引导用户以微信分享的方式进行口碑推广、营销和下载,形成微信朋友圈口碑营销闭环。另一方面,&微下载2.0&让超6亿微信用户真正成为APP的使用者和推广者。APP的开发者便可摆脱对第三方推广的严重依赖和对营销专业性的要求。专心做好应用,利用&微下载&的优势,通过微信用户之间分享和推荐轻松实现口碑营销,带来高下载转化率。
作为腾讯发力移动互联网的战略产品,以及移动互联网创业者的创业平台,腾讯应用宝成长十分迅猛。目前应用宝日分发量达到1.8亿,据艾瑞、Newzoo、Questmobile多家权威数据机构的报告显示,应用宝市场份额已稳居行业第一。
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
↑扫描二维码
想在手机上看科技资讯和科技八卦吗?想第一时间看独家爆料和深度报道吗?请关注TechWeb官方微信公众帐号:1.用手机扫左侧二维码;2.在添加朋友里,搜索关注TechWeb。
相关的资讯有:
相关的博文有:
每年过完6月份就是新一代iPhone传闻的大爆炸时期。相比往年,今年更加热闹,因为这不...
还有一天,吴亦凡代言的新机小米5X就要跟我们正式见面了。除了明星代言和高颜值之外,...
不得不说,HMD Global对于诺基亚品牌的操盘还是颇有一套的,一口气准备了Nokia 2/3/5/...
北京时间7月19日早间消息,亚马逊旗下AWS云计算服务周四发布的新版客户协议显示,该公...
“最主要的是,从我的角度来说,现在给乐视网选择什么样的合作伙伴。要么我干,要么我...
苹果芯片代工商台积电公布了公司未经审计的2017年第二季度财报。财报显示,台积电第二...
百度地图、高德地图,你喜欢用哪个?无论选择谁,地图导航如今都是我们出门必不可少...
Cent Browser,又称百分浏览器,是一款由百分工作室(Cent Studio)采用谷歌的开源Chr...
今晨,我们报道了微软计划在Windows 10第五个正式版中移除/退役数十款应用,其中“Pai...
王者荣耀策划微博目前再次与大家开启了交流,比较明确的是貂蝉、赵云有优化可能,并且......
阴阳师镰鼬狸猫新皮肤将在7月28日推出,镰鼬皮肤夏之风物可以通过副本获取,下面为大......
帅气又强力的男偃师登场后备受好评,如今,天工阁的第二位角色——女偃师阮烟罗也将隆......
夜雾迷城活动2月22日5:00—2月28日23:59,本次活动新增套装黎明之冠新月之吻,下面为......
Copyright (C)
All rights reserved.
请选择一张图片分享
要转发到新浪微博,请
要转发到QQ空间,请微信朋友圈屏蔽APP下载链接解决办法
常规做法:引导用户浏览器打开
&当我们的手游、APP内部加上微信分享功能,分享内容到微信朋友圈,这时第一个页面可以在微信打开,但是里面引导用户下载的链接会被微信屏蔽,不能直接点击。需要长按出现一个菜单提示用户是否打开,再次确认才能打开,要知道用户往往不知道需要长按的。
&常规的做法是提示用户在浏览器中重新打开,这样就不受微信限制了,但是操作有点复杂,但被使用的最广泛,因为最简单。类似的处理方式还有:把图中的“点击下载”改为“长按下载”,这样应该会更好一些吧。
一般做法:多次跳转绕开屏蔽
&使用多次跳转可绕开屏蔽。比如使用这样的跳转链接:http://mp./mp/redirect?url=/?act=download
&首先使用微信自己的跳转链接,随后再使用自己的跳转链接,最后使用APP
store的短链接就行了。逻辑:微信自带跳转链接→自己的跳转链接(可反复)→APP store。
&经过亲测,确实偶尔会出现几次跳转不成功的情况,原因不详,成功率在95%以上。
最有效做法:利用腾讯应用宝
&使用到现在最有效的办法当然是找腾讯帮忙了,不过现在的成本还算是比较高的。
&我们在腾讯应用宝申请了专用的下载链接:
http://a./o/simple.jsp?pkgname=&g_f=993009
&这个链接是不被微信屏蔽的,并且会自动判断安卓和ios设备,然后提供.apk的下载链接以及APP
store的链接。
&至于如何申请到这个链接,首先得在应用宝上线应用,其次申请微下载链接,周期在10天左右。
&至于微信今后再调整策略,那就不好说了,至少目前来说这些方法都是有效的,写于2014年5月。
我的更多文章:
( 13:51:35)( 15:52:31)( 15:47:08)( 16:34:58)( 16:24:29)( 16:22:46)( 16:16:51)( 12:10:39)( 17:52:57)( 15:19:04)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 应用宝评论提交失败 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信