第三方登录分享的Universal Link实现

545 阅读1分钟

我们在集成第三方登录时会让我们提供Universal Link,比如微信和QQ的第三方登录分享在成功后需要调起原app,这个怎么搞咧?

1.终端创建一个文件

2.打开文件写入如下内容

{ "applinks": {
   "apps": [],
   "details": [ 
		   	{
		        "appID": "TeamId.BundleID",
		        "paths": ["/路径名称/*","/qq_conn/QQ互联的APPID/*" ]
		     },
             {
		        "appID": "TeamId.BundleID",
		        "paths": ["/路径名称/*" ]
		     }
	      ] 
	}
}
  • appID:bundleID对应的TeamID和bundleID的拼接,用"."来拼接,它用来系统调起对应的app;
  • paths:是一个数组,这里可以放多个,比如你可以通过‘app名字’和"/qq_conn/QQ互联的APPID/*"两种路径跳转到app。

3.将此文件上传到阿里云服务器或其他服务器

得到一个文件的链接地址:xxxx.oss-cn-shenzhen.aliyuncs.com

4.Xcode项目设置

这里的Domains增加一项,内容为:applinks:xxxx.oss-cn-shenzhen.aliyuncs.com

5.从其他app跳转到本App

[UIApplication.sharedApplication openURL:[NSURL URLWithString:@"https://xxxx.oss-cn-shenzhen.aliyuncs.com/路径名称"]];

如果跳转不了,请先将本app卸载,再重新安装

通过以上的一顿操作,我们成功的在别的APP调起了自己当前的App,这里的方法也是解决QQ的Universal Link的方案

红框内设置的内容就是xxxx.oss-cn-shenzhen.aliyuncs.com,但是你要在上面创建的文件中设置"paths": ["/路径名称/*","/qq_conn/QQ互联的APPID/*" ],这里的/qq_conn/QQ互联的APPID/会自动拼接在xxxx.oss-cn-shenzhen.aliyuncs.com后面

我们在QQ互联中找到对应的应用,通过以上操作,成功得到了QQ的Universal Link,在项目中进行配置就可以实现QQ的第三方登录和分享了.