V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kkwezard
V2EX  ›  iOS

ios 上微信内置浏览器怎么通过 url scheme 打开第三方应用?

  •  
  •   kkwezard · 2016-05-10 10:14:44 +08:00 · 14201 次点击
    这是一个创建于 3155 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们的 app 集成了微信移动应用 sdk 注册了一个 appID 并且设置了这个 ID 作为 url scheme 。但是通过微信内浏览器打开自己的网页并想从网页上的超链接打开我们自己的应用时却发现不行。其他浏览器都是 ok 的。

    27 条回复    2016-11-23 15:00:34 +08:00
    wd
        1
    wd  
       2016-05-10 10:19:40 +08:00 via iPhone
    不支持 微信只支持自己的几个软件
    tinypig
        2
    tinypig  
       2016-05-10 10:20:50 +08:00
    引导用户点击使用 Safari 打开,然后实现跳转。
    kkwezard
        3
    kkwezard  
    OP
       2016-05-10 10:20:58 +08:00
    @wd 但是我看到有其他应用能通过这种方式打开啊。
    kkwezard
        4
    kkwezard  
    OP
       2016-05-10 10:21:58 +08:00
    @tinypig 目前是这么做的。但是我看到有应用能直接在微信内置浏览器打开。我看他们的 js 代码也就是用 url scheme 作为链接地址。却能打开
    wd
        5
    wd  
       2016-05-10 10:22:22 +08:00 via iPhone
    @kkwezard 你举个例子?你要是说那些用了微信 sdk 分享或者使用微信支付之后 是可以跳回去的 别的都不行吧
    chmlai
        6
    chmlai  
       2016-05-10 10:26:39 +08:00
    微信有自己的白名单吧
    unknownservice
        7
    unknownservice  
       2016-05-10 10:28:48 +08:00
    @kkwezard 招商银行吗?人家是深度合作伙伴,做点啥都不奇怪。
    zhanggggfd
        8
    zhanggggfd  
       2016-05-10 10:32:20 +08:00
    讲道理,是有白名单。你看到的都是有合作的。
    kkwezard
        9
    kkwezard  
    OP
       2016-05-10 10:38:50 +08:00
    @wd 假设我们在微信开放平台注册了一个应用 A 。 appID 是 wxdeadbeaf.根据微信的要求。我们在 ios 里设置这个 appID 为 urlscheme 。然后我们有一个自己的网页假设是 xyz.com ,页面上有一个超链接 wxdeadbeaf://open 。正常用 safari 我就可以点这个连接打开我本地已经安装应用 A 。但是在微信浏览器中打开 xyz.com 后再点这个超链接就没法打开本地应用 A 。但我确实看到有其他的应用能用这个方式打开。是不是还需要在微信平台什么地方认证一下自己的网站。或者微信有个什么白名单机制?
    baby4free
        10
    baby4free  
       2016-05-10 10:41:51 +08:00
    微信能打开的 app 都是疼讯帝国的合作者啊。。。。点评、滴滴、京东啥的
    tinypig
        11
    tinypig  
       2016-05-10 10:42:29 +08:00
    跟你的应用有没有设置没有关系,人家就是不给你们乱跳。只有合作方的或者自己家的应用才能跳。
    kookpua
        12
    kookpua  
       2016-05-10 10:54:52 +08:00
    微信 可以打开微信读书
    kkwezard
        13
    kkwezard  
    OP
       2016-05-10 10:56:00 +08:00
    @baby4free 好吧。那我懂了。不做无谓的尝试了。
    alex321
        14
    alex321  
       2016-05-10 11:02:26 +08:00
    微信自己有白名单的,使用自行修改过的浏览器内核,只针对有战略合作关系的伙伴开放,还会监测系统中其他同厂内核,以及区分平台、地区版本的。
    然后,微信最终的发展走向是制造封闭系统的硬件,硬件中只安装微信一个 APP ,或者说安装微信系统。说完了。
    doyel
        15
    doyel  
       2016-05-10 11:10:46 +08:00
    就为了个分享下载。。。。我还把自己 IOS 的 APP 去挂到应用宝的市场上去了。。。
    kkwezard
        16
    kkwezard  
    OP
       2016-05-10 11:12:22 +08:00
    @doyel 我看到很多估计是没有合作关系的 app 就只能通过把 app 挂应用宝来引导用户去下载了。
    honeycomb
        17
    honeycomb  
       2016-05-10 11:15:29 +08:00 via Android
    @kkwezard 考虑到这样的(不允许直接把链接发送到第三方浏览器)情况,我一般不会点击微信中的链接
    so898
        18
    so898  
       2016-05-10 11:35:02 +08:00
    用腾讯应用宝才行
    sunxiaonian
        19
    sunxiaonian  
       2016-05-10 11:47:02 +08:00
    噢,你们这些太弱了,以前我做 App 的时候,用腾讯微博短链接的漏洞,可以绕开应用宝,直接跳,现在腾讯微博停了,不知道行不行,你们自己试试吧。
    wolfan
        20
    wolfan  
       2016-05-10 11:59:08 +08:00
    个人感觉微信其实就是一个套在 TT 上的壳而已……
    qgy18
        21
    qgy18  
       2016-05-10 12:52:13 +08:00
    实际上, iOS 9 提供了官方解决方案。

    Google 关键字: iOS 9 Universal Links
    kkwezard
        22
    kkwezard  
    OP
       2016-05-10 14:43:49 +08:00
    @qgy18 这个貌似不错。微信内置浏览器并没有限制同一域名下的页面跳转。也许可行。
    qgy18
        23
    qgy18  
       2016-05-10 14:49:56 +08:00 via iPhone
    @kkwezard
    当然可行啊,知乎、网易新闻 app 都这么干的。
    KevinChan
        25
    KevinChan  
       2016-05-10 15:15:39 +08:00 via iPad
    即刻 app 给出了类似的方法,可以去找一下
    kkwezard
        26
    kkwezard  
    OP
       2016-05-10 15:45:04 +08:00
    @nathanw 多谢分享!
    mekhi
        27
    mekhi  
       2016-11-23 15:00:33 +08:00
    @KevinChan 即刻 app 是怎么做到的? DeepLink 到自己 App 后发现即刻的右上角没有网址字样,感觉不是用的 Universal Links ,即刻不会也在微信白名单中吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2457 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:51 · PVG 12:51 · LAX 20:51 · JFK 23:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.