iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)

iOS 微信打开第三方应用(Universal Links 和 URL Schemes) 一、前言 项目中时常有这种需求, 是通过链接跳转到应用内部,现在iOS主流的方案有两个 Schema: 常用在于一个应用跳转到另一个应用内部,属于应用间的跳转。当然ios9以下,网页可以通过schema://跳转到App内部。但是这种方式跳转比较生硬,在每次跳转的时候都会弹框询问。如果iPhone中如果没有安装则会直接弹出错误提示。 Universal Links(通用链接):常用于h... 阅读详情

iOS应用可以使用 URL Schemes 进行应用间的跳转或实现网页打开应用的功能,这种跳转是协议跳转。

要应用间能跳转就要遵循URL Schemes协议。

要网页跳转应用网页就要遵循URL Schemes协议。

所以这就出现了微信或QQ等知名应用不能打开第三方应用的问题,不能打开是因为微信和QQ使用的是自己研发的QQ浏览器,他不遵循URL Schemes这个协议。

实例演示:(下载 卡惠应用 查看效果):注: kahui.huankaun.com 就是你服务器的域名

1,问题具备的场景

(1)第三方应用集成了友盟分享到QQ和微信的功能

(2)第三方应用分享了一个web页面到微信或QQ

(3)打开分享的web页面,点击上面的某一个按钮

(4)如果用户安装了该应用,直接打开应用根据web地址中的参数跳转到对应的页面

(5)如果用户没有安装应用,直接跳转到appStore

2,实用的技术:iOS9 之后提供的 Universal Links 功能

3,实现步骤

(1)创建一个json文件,名称必须为 apple-app-site-association,⚠️该文件不可带 .json 的后缀名

         apple-app-site-association 文件必须放在https服务器的根目录下,例:https://kahui.huankaun.com 这个路径下 ⚠️一定是根目录,也就是说该文件必须是一级目录,供下载使用

         apple-app-site-association 文件格式:如代码 1

         teamID:打开苹果官网,点击Account,点击左边栏的 Membership,查找teamID 如图 1

         paths:定义的web页面的地址,*表示 kahui.huankaun.com 这个路径下的任何子路径,也可以指定固定跳转的页面例:/index.php

(2)确保使用 https://kahui.huankaun.com/apple-app-site-association 这个链接可以在 苹果的验证网站 访问得到,正确的访问结果为 如图2


(3)进入开发者网站,找到你自己的bundleId,可以点击edit按钮,开启associate domains,并创建相应的provisioning Profiles,如图 3


(4)在项目的Capablities中开启Associated domains,添加 applinks:kahui.huankaun.com,如图 4

(5)在appdelegate中实现上面这个方法,当使用Universal Links唤醒app时就执行这个方法:如代码 2


(6)快捷验证,在备忘录中输入https://kahui.huankaun.com/...,常按这个链接,出现使用第三方应用打开表示已经成功,如图 5


(7)当没有安装该应用时的处理方式是:上传该html文件到 kahui.huankaun.com 路径下,如代码 3

       













代码1
{
  "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "teamID.bundleId",
                "paths": ["*"]
            }
        ]
    }
}



代码2
- (BOOL)application:(nonnull UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * __nullable))restorationHandler{}

代码3
<!DOCTYPE html>
<html lang="en" >
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title>上新-跳转中...</title>

</head>
<body>
<script type="text/javascript">
        setTimeout(function(){
            window.location = "第三方在应用宝的下载链接"
        },3000)

</script>

</body>
</html>


  

iOS分享到微信,配置Universal Links,并从微信打开app,跳转到指定界面 需要替换为你自己的域名)。浏览器打开后,会看到我们刚才配置的apple-app-site-association文件内容,如果不能,则需要查看文件目录是否正确,网络是否支持外网,服务器是否拦截。iOS分享到微信之后,需要从微信浏览器直接打开app,跳转到指定界面,这个时候最主要的就是分以下几步(微信sdk集成就不说了)Associated Domains可以设置多个,格式是:applinks: + 服务器域名(域名即可,例如完整链接是。* 表示通用链接,即只要域名正确,可以直接命中,一般不建议直接使用。 阅读详情

相关推荐

离开微信直接打开APP指定的页面

downLoad:function(){ var option = { source: '22', shortName: 'invitenewusergivehbi', recommenduserid: this.userId, } console.log(opt...

qianqianliu123的博客 1874

苹果手机微信中打开app下载链接跳转不到app store怎么办

使用微信推广的用户经常都会遇到推广链接被拦截导致无法下载app的情况,通常这种情况微信会给个提示“已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下三点: 1、网页链接被举报次数过多。2、网页含违规内容,含敏感词。3、被腾讯检测系统判断为诱导分享内容。 被人举报我们无法阻止,因为目前地市场行业竞争大,举报的人群里其实目标用户并没有占很多,多数都是来自同行的恶意举报,这...

ewuiqy12的博客 4954

跨平台应用开发进阶(三十四) :uni-app 应用 Universal Link 实现 iOS 微信分享_uniapp universal links

根据路线图上的重点去进行有针对性的学习,在学习过程中,学会写笔记,做总结。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】html5 / css3 学习笔记JavaScript 学习笔记Vue 学习笔记。

2401_84435739的博客 1797

微信小程序直接打开第三方app,如何实现?

目前微信小程序是没办法直接打开app或者跳转到app的指定页面的。 但是有个办法,先打开跳转手机浏览器,手机浏览器再自动跳转打开app。这样也是不行的,因为微信小程序没办法直接打开网址或跳转浏览器。 关于小程序、手机浏览器、app互相跳转的问题,杭谐科技微信小程序开发团队技术人员总结如下: 1.微信小程序没办法直接跳转打开app、网址、手机浏览器,但是可以直接打开其他的小程序并跳转到指定的小程序页面 2.微信公众号可以直接打开app或app指定页面,可以直接打开手机浏览器并跳转指定网址,可以打开小程序或进入

addooooba的博客 1万+

iOS Universal Links(通用链接)

iOS Universal Links(通用链接) 最近项目中,微信SDK针对 iOS 13系统版本安全性,进行了对应升级,微信SDK版本为openSDK(1.8.6)。在微信官方介绍中,1.8.6版本支持Universal Links方式跳转,对openSDK分享进行合法性校验。 本篇文章中,相关配置: 项目 BundleID:com.test123.www Universal Links :...

weixin_43780786的博客 4195

UniApp:IOS篇:通用链接【Universal Links】配置

在"plus" -> “distribute” -> “apple” -> “capabilities” -> “entitlements"节点(uni-app项目在"app-plus” -> “distribute” -> “ios” -> “capabilities” -> “entitlements”)下添加"com.apple.developer.associated-domains"字段,字段值为字符串数组,每个字符串为要关联的域名。第三步:在微信开放平台,给绑定的APPID配置通用链接。

凌寒赋雪的博客 4606

wechat_kit Universal Links配置:iOS深度链接完整解决方案

wechat_kit是一款专为Flutter开发者打造的微信登录/分享/支付SDK,本文将详细介绍如何在iOS平台上配置Universal Links,实现微信与App之间的无缝跳转,提升用户体验。 ## 📱 Universal Links是什么? Universal Links是苹果在iOS 9中引入的深度链接技术,允许应用通过标准HTTP/HTTPS链接直接打开,无需通过浏览器中转。对于

gitblog_00018的博客 900

由于应用universal link 校验不通过 ios应用升级SDK 更换Universal Links校验

前情提要: 我是java开发。公司的移动开发跳槽了,老板甩给我了。 一直没有问题, 突然有一天,iosAPP发生了这样的事情,跳转到微信小程序微信弹框:由于应用universal link 校验不通过 查阅了一些资料,这个universal link 是微信sdk升级之后的产物,之前使用的都是不需要传universal link的跳转方式,只需要appid就可以了。由于苹果iOS 13系统版本安全升级,为此openSDK在1.8.6及以上版本进行了适配。 1.8.6及以上版本支持Universal Lin

lzq_20120119的博客 1万+

iOS 10 Universal Links(通用连接),从微信网页连接跳转到公司APP之官方指南翻译

苹果官网翻译1.点击下面官网详解英文版—苹果官网Universal Links详解支持通用连接When you support universal links, iOS 9 users can tap a link to your website and get seamlessly redirected to your installed app without going through Saf

高级软件开发工程师--周玉的博客 1万+

跨平台应用开发进阶(三十四) :uni-app 应用 Universal Link 实现 iOS 微信分享_uniapp universal links(1)

三套“算法宝典”开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】算法刷题LeetCode中文版(为例)人与人存在很大的不同,我们都拥有各自的目标,在一线城市漂泊的我偶尔也会羡慕在老家踏踏实实开开心心养老的人,但是我深刻知道自己想要的是一年比一年有进步。最后,我想说的是,无论你现在什么年龄,位于什么城市,拥有什么背景或学历,跟你比较的人永远都是你自己,所以明年的你看看与今年的你是否有差距,不想做咸鱼的人,只能用尽全力去跳跃。祝愿,明年的你会更好!

2401_84446513的博客 1105

iOS防止在WKWebView中打开Universal Link( Prevent universal links from opening in WKWebView)

文章目录前言I 、防止在WKWebView中打开Universal Link1.1 防止在WKWebView中打开Universal Link的原理:1.2 代码实现II 、将应用和网站相关联以获取 Universal Links2.1 配置iOS App工程2.2 编写App被唤醒后的处理逻辑2.3 测试III、h5唤起微信app支付3.1 配置QueriesSchemes 白名单向微信开发者平台注册app的 bundle id 和 Universal Linkssee also 前言 在wap中唤起ap

专注于计算机研发知识和资讯分享 1831

iOS 10 Universal Links(通用连接),从微信网页连接跳转到公司APP之实现流程详解--2016最新版

iOS 10 Universal Links(通用链接)–实现流程详解–2016最新版曾经的遭遇……….如下:公司业务需求:APP中分享或者发红包连接到微信好友或者朋友圈,微信用户点击链接,微信APP会加载网页,在网页里点击拆红包,跳回APP,实现这种抢红包,发红包的需求....................然后各种抓狂,这个.....怎么实现......随后就了解到Universal Links

高级软件开发工程师--周玉的博客 1万+

iOS Universal Links 配置

Universal Links 通用链接,我的理解就是通过点击这个链接,能够打开应用,还可以根据配置的路径和参数跳转到App内指定页面和传递参数。我们做微信QQ登录分享时会要求配置这个链接。网上有很多文章介绍了如何配置,但是每次随便搜一篇来照着操作,总是会遇到问题,算了还是自己花点时间记录一下吧!这里记录一下参考的文档,大家也可以直接移步过去,记录的原因主要是万一以后我文章的步骤过时啦,就可以去这几个官方的地方瞅瞅!工具域名:假设我们的域名是 example.com。

lyh1083908486的博客 3627

如何在微信中打开app及Schema VS Universal Link

Schema VS Universal Link Deeplink相关的技术,在wap中唤起app其实应用最最广泛的并不是Universal Link,而是直接Schema跳转 location.href = 'schema://xxxx' 并且一般各大APP都会给自己做一套路由体系,这样其实可以直接在schema头后面对接路由体系,做到一行schema定位打开任意App内功能界面(我就不详细扯路由的事了) - (BOOL)application:(UIApplication *)applicat

wpy724189991的博客 4263

iOS实现APP程序内部打开APP的AppStore页面

前言 最近在做内购用到了StoreKit.framework库,偶然间发现中SKStoreProductViewController这个类,查看文档后发现一个妙用,解决了我一个痛点:APP每次更新或者跳转至某个APP的App Store页面时,都要跳转至App Store,然后再跳转回应用,用户体验很不好,以前都是直接给产品说不能解决,现在呵呵呵:expressionless_face:……. 言归正传,下面来看看本文详细的介绍: 第一步 导入头文件import <StoreKit> ,并遵守协议<SKStoreProductViewControllerDelegate> 第二步 - (void)openA

避开这5个坑!Tushare数据获取与清洗的常见问题解决方案

本文详细解析了使用Tushare进行金融数据分析时常见的5大问题,包括Token失效、数据缺失、频率限制等,并提供了Python实战解决方案。通过智能填充策略、队列化管理和分层存储设计,帮助开发者高效获取和清洗金融数据,提升量化分析效率。特别适合金融数据分析师和Python开发者参考。

f9g0h的博客 419

IOS调起app的终极方法:Universal Links

一、App“围墙” 各个移动App就像大海中的一座座岛屿,虽然都生活在一个海洋中(Android系统或iOS),但是他们之间通常是老死不相往来。举例来说,在微信应用中,用户基本上就没有机会打开第三方应用APP,只能通过Web/浏览器方式提供受限的互通。 真实的用户需求是什么样的呢? 例如,用户在朋友圈中,看到关于一个饭店文章的时候,用户可以很方便打开大众点评应用看评论,直接打开美团查看折扣券,...

u011184307的专栏 3046

FFmpeg + OBS 低延迟直播串流实战:从H264裸流到RTP组播的完整配置

本文详细介绍了如何利用FFmpeg将H264裸流转码为RTP协议,并通过组播技术实现与OBS客户端的超低延迟直播串流。文章深入剖析了FFmpeg关键参数调优、SDP文件生成与配置,以及OBS客户端的无缝拉流方法,为需要毫秒级实时交互的场景提供了一套去中心化、高效稳定的完整解决方案。

fanta的博客 827

在iOS9中突破微信App跳转的限制

原文转载自:http://www.nero.today/index.php/2016/01/26/appswitchonwechatonios9/前言微信的普及程度相信不需要多言了,稍微回忆一下自己上一条短信是什么时候,上一条微信又是什么时候就知道了。 因此通过微信传播也是绝大部分App的一个重要手段,但是在iOS7微信出的新版本,就开始不允许从微信直接跳转到对应的App中了。 所谓上有政策,下

CINNS的博客 2万+

Linux安装部署PostgreSQL详细步骤

Linux安装部署PostgreSQL详细步骤

2301_77356579的博客 9321

Python 陌生代码库阅读之道:从零起步到一周掌控 5 万行老项目的实战策略

文中特别强调"自顶向下+画图+注释"的基础阅读心法,并提供了具体的代码示例和命令行技巧。对于大型项目,建议先建立核心流程的骨架认知,再逐步填充细节,同时注重文档化和测试覆盖率的提升。 掌握这套方法后,开发者可以将陌生代码库的阅读效率提升3倍以上,在一周内建立起对5万行级别项目的整体掌控力。

铭渊老黄 506
上一篇: @synchronized 互斥锁
下一篇: UIButton上图片和文字的位置调整
江小豪
博客等级 码龄11年 12粉丝 49原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值