多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 统一跳转规则 **以下在客户端版本4.7.3及之后支持** 外部打开App页面分两种情况: 1. 微信中打开App(支持iOS和安卓) 2. 浏览器打开App(支持iOS和安卓) **1.微信打开App** **1.1 iOS方案** `https://{appHost}/magshare/{siteId}?jump_url={jump_url}&content_url={content_url}` ***需要打开App的微信页面的域名不能和appHost一样,具体见下面iOS微信跳转app相关注意事项*** > appHost: App域名的host,例如 api.magcloud.cc(**由于iOS UniversalLinks唤起App需要跨域,所以此时当前页面域名不能为api.magcloud.cc**); siteId: 站点唯一标识,例如 灵享汇的siteId为lingxianghui,则用lingxianghui替换{siteId}; jump_url: 如果传了jump_url,那么如果成功唤起App,则会在App打开jump_url对应的页面,如果不传或者为空字符串,只会唤起App,jump_url请url_encode处理; content_url: 这个参数App不会使用,仅当唤起App失败之后Web端会打开content_url指定页面,并在url后添加参数 magshareredirect=1;页面可根据此参数做处理,例如显示下载页面,content_url请url_encode处理 iOS 正常情况下会直接唤起app,并打开对应页面(测试包和正式包都支持); 若配置有误无法直接唤起App(**iOS 的UniversalLinks可能存在唤起失败的情况,基本都是因为UniversalLinks没有配置好**),这个时候的兼容方法参照安卓方案,会通过AppStore唤起(AppStore打开只支持正式包)并打开对应页面; **1.2 安卓方案** > 1.**安卓和iOS不同,安卓唤起App需要通过应用宝唤起App并打开指定页面,这要求用户必须安装了应用宝** 2.安卓想要通过应用宝唤起App并打开指定页面需要使用到手机剪贴板,当用户点击Web端中唤起App的操作时,需要Web端在手机剪贴板中插入指定格式的链接,然后跳转到应用宝里的App下载地址,用户通过应用宝的打开App,App会自己检查手机剪贴板中是否有符合规则的链接,如果存在则跳转到链接对应的页面; 3.**如果用户没有安装应用宝,那么无法直接唤起App,但是当下次用户打开App的时候,App也会检查手机剪贴板中存在符合规则链接,如果存在则跳转到链接对应的页面**; 下面是链接规则 ``` 1.App的短链接,例如{siteId}://userHome 2.外链即http/https链接,需要在链接参数中拼接参数a_k_protocol={siteId} ``` **2.浏览器打开App** {siteId}://pagejump?jump_url={jump_url} siteId : 站点唯一标识 jump_url:在App中打开的url; 请url_encode处理 成功: 在App中打开jump_url指定页面; 失败:如果用户没有安装App则打不开页面,建议在跳转App同时显示下载页面。 p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px 'Helvetica Neue'; color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px 'Helvetica Neue'; color: #000000; min-height: 15.0px} span.s1 {color: #1b7e1c} **iOS微信跳转app相关注意事项** 1.在app后台iOS UniversalLinks配置那边填写app的打包域名,同时确保之前填写的TeamID和包名都是正确的,尤其是转过账号的App,一定要看下TeamID 2.配置分享域名,不能和打包域名一样,不配置则在微信中无法直接跳转App,只能通过AppStore跳转 3.确保服务端和客户端都升级到4.7.3 4.以上都配置正确,你想要验证功能是否正常,请先卸载手机上的测试包,并且下载安装最新的4.7.3测试包,下载好之后不用打开App,提这里供两种验证方式(确保手机系统>=iOS 9.0): 4.1 直接在iPhone的Safari浏览器中输入https://App域名,一定要是https开头,这时会出现App的下载页,下拉页面顶部会出现“在’App名称‘中打开”的字样,点击打开会直接跳转的App,则说明验证通过 4.2 复制https://App域名,一定要是https开头,粘贴到备忘录中,然后长按链接,第一个选项如果是“在’App名称‘中打开”,点击打开会直接跳转的App,则说明验证通过 如果以上方式不起效果,是因为之前的手机系统配置存在缓存,请参照下面方式尝试修复。 iOS修复微信跳转App: 1.如果是正式包,只需要在AppStore升级App版本,用户更新之后系统会自己刷新缓存,所以正常用户不会出现打开失败的问题。 2.如果使用测试包测试,正常情况下只需要卸载重装App也是可以打开的,但是各个手机情况不同,如果出现无法打开且确认上面配置都正确的情况,则按照这个步骤尝试:去iPhone-通用-iPhone储存空间-找到你的app点进去-选择删除app(不要选卸载),然后重启手机,重新下载最新的4.7.3安装包,在iPhone的Safari浏览器中输入https://App域名,这时会出现App的下载页,下拉页面顶部会出现“在xxx中打开”的字样,点击打开会直接跳转的App,如果不行则再多尝试两次,检查检查配置。 3.如果最后还是不行,我们会通过AppStore唤起app(这里只有正式包能唤起,测试包因为没上架所以不行)