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

听萌妹纸说,如何在微信中直接唤醒第三方 App

  •  
  •   fssdf · 2016-03-24 16:49:02 +08:00 · 2176 次点击
    这是一个创建于 2962 天前的主题,其中的信息可能已经有所发展或是发生改变。

    导读:如何让 App 的每个页面 /服务能够像 Web Page 那样被发现、管理和监测?如何基于特定的情景让移动端用户能够在各个 App 之间进行无缝的唤醒切换?如何利用 Growth Hacking 的理念提高 app 的用户和留存?如何评估 App 的某个具体页面 /服务的传播效果?我们将在持续分享以增长为主题的系列干货文章中为您一一解读,本期魔窗萌妹子程序媛刘家飞教你如何在 App 中用 Universal links 跨越微信屏蔽,在微信中直接唤醒第三方 App 。 听萌妹纸说,如何在微信中直接唤醒第三方 App

    Apple 为 iOS 9 发布了一个所谓的通用链接的深层链接特性,即 Universal links 。虽然它并不完美,但是这一发布,让数以千计的应用开发人员突然意识到自己的应用体验被打破。 魔窗推出了 mLink ,为了打破 App 孤岛格局,构建情景式的服务链,大幅提升用户体验,让每一次的连接都产生价值。 什么是 Universal links? Universal links ,一种能够方便的通过传统的 HTTP/HTTPS 链接来启动 App ,使用相同的网址打开网站和 App 。 试想一下,通过唯一的网址,一个用户点击可以链接到你网站的网址,当 App 已经被安装的时候,直接无缝的重定向到 App 中而不是打开 Safari ,当用户没有安装 App 的时候,直接在 Safari 中打开链接,通过这个唯一的网址还可以链接到您 App 中某个特定的视图,而不是特别的 URL Schemes 。这种用户体验是不是相当的棒? 相较 custom URL Schemes, Universal links 的好处 ( 1 )不同的 App 是可以定义相同的 custom URL Schemes 的,所以会存在抢占或者冲突的问题,而 Universal links 使用标准的 HTTP/HTTPS ,所以不存在上述问题。 ( 2 ) custom URL Schemes 在没有安装 App 的情况下是无法直接打开的,而 Universal links 本身是一个 HTTP/HTTPS 链接,所以在没有安装 App 的情况下,可以用 Safari 打开相应的 webView 。 在微信中打开 Universal link ,并且 App 未安装的情况下: 听萌妹纸说,如何在微信中直接唤醒第三方 App

    在微信中打开 custom URL Schemes ,并且 App 未安装的情况下: 听萌妹纸说,如何在微信中直接唤醒第三方 App

    ( 3 )在 App 已安装的情况下,在微信中点击跳转链接, custom URL Schemes 是无法直接打开 App 的,因为微信屏蔽了 custom URL Schemes 的跳转,而 Universal links 由于其本身是 HTTP/HTTPS 链接的优势,可以跳出微信的屏蔽,直接从微信中跳转并打开相应的 App 。 在微信中打开 Universal link ,并且 App 已安装的情况下: 听萌妹纸说,如何在微信中直接唤醒第三方 App

    在微信中打开 customURL Schemes ,并且 App 已安装的情况下: 听萌妹纸说,如何在微信中直接唤醒第三方 App

    ( 4 ) Universal links 可以使用相同的网址打开网站和 App 。 听萌妹纸说,如何在微信中直接唤醒第三方 App

    ( 5 ) Universal links 支持从其他 App 的 MKWebView 或 UIWebView 中跳转到目标 App 。 ( 6 ) Universal links 本身可以被搜索引擎索引。 Universal links 的具体实现 实现 Universal links 不难,但是也有一些门槛: 有一个注册的域名 通过 SSL 访问域名 支持上传一个 JSON 文件到你的域名 至少 iOS 9+ 至少 Xcode 7 beta 2 ( 1 )添加一个 apple-app-site-association 文件到你的网站来描述 URL 和 App 的关联。 该文件必须存在且为了安全原因需要使用 SSL 通过 GET 请求访问到。 在你的 apple-app-site-association 文件中,是需要写一个简单的 JSON 格式,比如: { "applinks": { "apps": [], "details": [ { "appID":"9JA89QQLNQ.com.apple.wwdc", "paths": [ “/wwdc/news/",“/videos/wwdc/2015/"] }, { "appID":"TeamID.BundleID2", "paths": [ “" ] } ] } } ( 2 )添加 Associated Domains 来指定要从哪些域名查询 Universal link support 。在 Xcode 的 capabilities 里添加你的 App 域名,必须用 applinks 前置它。 ( 3 )在 App delegate 的 application:continueUserActivity:restorationHandler: 方法中 handleuniversal links 魔窗 mLink 对 Universal links 的支持 魔窗除了对 custom URL Schemes 之外,同时也对 Universal links 进行了支持。 如果 App 已经配置了 Universal links ,只需要在魔窗后台添加相应的 Universal links 即可; 如果 App 没有配置 Universal links ,那么只需要提供 Team ID 和 Bundle ID ,魔窗为 App 提供 Universal links 服务。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1244 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:27 · PVG 01:27 · LAX 10:27 · JFK 13:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.