iOS平台微信支付SDK更新,要求配置通用链接(Universal Links)

概述

对以前的项目进行版本升级时发现,微信支付为迎合 iOS 13 要求进行了部分升级(openSDK1.8.6)。
其中最主要的就是将跳转方式改为Universal Links为的就是对发起分享的合法性校验。

相关链接

什么是Universal Links?在应用中需要整么配置Universal Links呢?

一、何为 Universal Links

翻译过来及 通用链接
是iOS9的新特性,是对原的scheme调起应用的方式进的优化方案。
能够方便地通过打开一个Https链接来直接启动您的客户端应用(手机有安装App)。对比起以往所使用的URL Sheme, 这种新特性在实现web-app的无缝链接时能够提供极佳的用户体验。

能实现网页到应用的无缝对接。如:从网页端无缝跳转到APP应用,并且当本机未安装该应用时还能打开指定网页。

体验
微信的Universal Links,在Safari浏览器输入https://help.wechat.com/app/并打开,可发现打开微信应用的按键。
在这里插入图片描述

既生瑜何生亮

为什么会推出通用链接呢,还得说说原scheme的缺点:

1. schema 隐私问题

利用schema机制,使用AppDelegatecanOpenURL方法 就可以知道 用户手机里面 都安装了啥(在iOS9限制了该方法) 。 而通用链接这方面更安全。

2. schema 容易重复

schema是开发人员自定义的,无统一结构管理,很容易出现两个应用注册相同schema 的情况;而通用连接使用域名方式,不会出现重复问题。

3. schema 体验缺陷

当本地未安装相关调应用时则无响应;而通用链接可以直接跳转已经安装的app或者跳转到该应用的下载页,达到功能性闭环。

这么说来感觉通用链接还不错,怎么使用呢?

二、配置 Universal Links

1. 开通 Associated Domains 功能

登陆苹果开发者账号,创建应用;并开启该AppId下的Associated Domains(关联域名)功能(在IDENTIFIER中并勾选Associated Domains)。
在这里插入图片描述

2. 部署apple-app-site-association文件

创建json格式的一个空文件(文件名为apple-app-site-association,并且没有后缀!)放在指定服务器根目录,提供一个Https的访问地址。
如:https://www.baidu.com/.well-known/apple-app-site-association

该json文件格式如下:

	{
		"applinks": {
			"apps": [],
			"details": [{
				"appID": "G63E53LeQ3.com.cskj.jzb",
				"paths": ["/myapp/*"]
			}]
		}
	}
  • appID:TeamID+BundleId的组成。
    对应参数查看可见下图:
    在这里插入图片描述

  • paths:是设置允许的路径列表,可以是一个也可以是多个,最简单的方式是使用“*”,通配符,表示允许该域名下的任意路径。(注意:paths中的大小写是敏感的。)要注意微信在使用唤起第三方App时,会在Universal Links末尾拼接路径和参数。

  • 多个应用时,需要使用不同的paths进行区分。

  • 服务器配置注意事项:apple-app-site-association文件名固定,不能修改,不能加后缀;必须支持https且不能重定向。

  • 确认部署成功:使用https链接可直接访问apple-app-site-association文件内容。

3. 项目配置 Associated Domains

原生项目

在Xcode中配置关联域名。
打开Xcode,选择project → Signing & Capabilities → + Capability 找到“Associated Domains”并添加。
在这里插入图片描述
找到Associated Domains。
在这里插入图片描述
点击允许按钮,在Domains中添加对应的域名。Domains中的域名必须是使用applinks:开头,然后录入即可。
如:applinks:www.baidu.com
在这里插入图片描述

uniapp 项目

在manifest.json中配置域名打包后生效。
在这里插入图片描述

  • HBuilderX中自带的默认真机运行基座HBuilderX注册的通用链接为:https://demo.dcloud.net.cn/ulink/

当app第一次启动之后,会自动从你自己的域名目录下下载这个apple-app-site-association文件。

4. 微信平台配置 Universal Links

到微信开发平台的“管理中心”里,更新你的iOS移动应用的Universal Links值。

  • Universal Links值要求https开头,以“/”结尾。
  • Universal Links值需要包含paths通配符。

如: https://www.baidu.com/myapp/

5. 功能验证

  • 浏览器输入https://域名/.well-known/apple-app-site-association可以正确显示apple-app-site-association文件内容,或下载文件;

  • 手机浏览器输入域名+路径+其他地址,下拉页面可以显示打开App提示;(注意: 使用这种验证方式,修改配置文件后需要卸载重装App后,配置才会生效)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值