微信中通过页面(H5)直接打开本地app的解决方案

简述

微信中通过页面直接打开app分为安卓版和IOS版,两个的实现方式是完全不同的。

安卓版实现:使用腾讯的应用宝,只要配置了“微下载”之后,打开链接腾讯会帮你判断本地是否已经安装了app,如果本地安装就直接打开,没有安装的话就是腾讯微下载的页面进行app下载,当然微下载的页面腾讯提供了几个模板,可以自己选择和修改。

IOS实现:ios像直接点击链接打开本地app就难了,有两种方式可供我们选择:

  1.腾讯深度合作的公司,微信可以帮你打开app;

  2.使用IOS9+的新功能“Universal Links”(通用链接);

很显然,第二种方式更适合我们普通的公司。

 

效果展示

 

 

实现步骤

1.配置https(必须是https)网站支持;

创建“apple-app-site-association”文件,注意不带后缀,放到网站根目录,确保可以使用:https://xxx.xxx.xxx/apple-app-site-association直接可以访问,apple-app-site-association文件内容如下:

{
"applinks": {
"apps": [],
"details": [
{
"appID": "*****.com.gangguwang.yewugo",
"paths": [ "/app/*" ]
}
]
}
}

其中appId是你的Prefix + ID,如图:

 

paths为你链接拦截的地址,比如我上面填写的是“/app/*”,就是当我访问https://xxx.xxxx.xxx/app/x的时候,会打开本地app,其他连接时候则为正常显示,这个地址可以配置成多个,也可以直接写*;

 

2.配置苹果证书,开启“Associated Domains”,如下图:

Identifiers - App IDs –Edit 然后开启打钩 Associated Domains 后保存,配置地址:https://developer.apple.com/account/ios/identifier/bundle

 

3.配置你的App的Universal Links(通用链接)

如果你是普通的ios项目的的话,配置如下:项目 targets->Capabilities->Associated Domains,如图填写你的链接域名

域名的格式必须为:applinks:你的域名(ex:applinks:www.domain.com),可以配置多个;

如果你是Xamarin项目的话,需要选择Entitlements.plist配置关联域,如图:

 

这样配置完之后,打包即可测试你的应用咯。

官方配置文件:https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2

 

扩展知识(关于Xamarin)

如果你要处理链接打开本地app并跳转到相应的详情页的话,需要这样实现:

1.在你的xxx.iOS项目打开“AppDelegate.cs”文件;

2.重写方法,代码如下:

 

public override bool ContinueUserActivity(UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{
if (userActivity.ActivityType == NSUserActivityType.BrowsingWeb)
{
string url = userActivity.WebPageUrl.ToString(); //全地址
if (!string.IsNullOrEmpty(url))
{
//你的业务处理
        }
}
return true;
}

参考文档:https://components.xamarin.com/gettingstarted/googleiosappindexing

注意事项

1.配置的网站必须是https,不能为http;

2.[重要]展示地址和打开的地址不能在一个域名下(作者测试发现放在同一服务器下都不行),比如展示页的地址是https://a.domain.com/?id=10,打开的如果是https://a.domain.com/app/?id=10,系统默认是打开页面,而不是触发通用链接打开app;

3.[重要]配置玩证书之后需要更新证书,才能内部打包和提测上传成功;

4.通用链接可被屏蔽,点击右上角配置的链接之后,通用链接就失效了,解决方案详见:《iOS通用链接(Universal Links)突然点击无效的解决方案》。

 

 

如果觉得本文对你有帮助,请点击右下角“推荐”按钮,谢谢!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GIMP 基本教程

本文主要记录笔者使用GIMP的心得,有些具体操作内容会省略,读者可以酌情阅读,内容较多,建议通过右边目录查看。 GIMP 是高级图片编辑器。 您可以使用它来编辑,增强和修饰照片 和扫描,创建工程图以及制作自己的图像。 它具有大量的专…

iOS通用链接(Universal Links)突然点击无效的解决方案

接上文《微信中通过页面(H5)直接打开本地app的解决方案》已经把iOS搞定并且已经正常能跑了,突然就再也用不了了... 问题描述 测试告诉我,如果从微信打开App之后,点击App右上角的应用网址之后,iOS通用链接就费了,在也…

如何利用shell脚本和client-go实现自己的k8s调度器

调度器介绍 scheduler 是k8s master的一部分,作为插件存在于k8s生态体系。 自定义调度器方式 添加功能重新编译实现自己的调度器(multi-scheduler)scheduler调用扩展程序实现最终调度(Kubernetes scheduler extender&#xff09…

Linux ubuntu安装搜狗输入法

1.下载搜狗输入法的安装包 下载地址为:http://pinyin.sogou.com/linux/,如下图,要选择与自己系统位数一致的安装包, 我的系统是 64 位,所以我下载 64 位的安装包 sogoupinyin_2.2.0.0108_amd64.deb 安装方法: 1.打开命令终端,输入: sudo apt-get install xxx.deb 路径 2.重启电…

React Native顶|底部导航使用小技巧

导航一直是App开发中比较重要的一个组件,ReactNative提供了两种导航组件供我们使用,分别是:NavigatorIOS和Navigator,但是前者只能用于iOS平台,后者在ReactNative0.44版本以后已经被移除了。 好在有人提供了更好的导航…

Linux QT5.12 一种整体界面字体设置的方法及设置PlainTextEdit组件的字体大小方法

1.在Linux QT5.12开发界面时,经常会涉及到界面字体大小的设置,默认字体一般比较小,解决方法如下: 在main函数中添加代码: // // 一种整体界面字体设置的方法: QFont font a.font(); font.setPointSize(14); a.setFont(font); // 2.在L…

Win7电脑,无法把文件保存到桌面上?

今天有用户反映重装了Win7后&#xff0c;文件无法另存到桌面上&#xff0c;解决方法如下&#xff1a;1、在任何地方打开资源管理器&#xff0c;按<Alt><F>键打开资源管理器的菜单&#xff1b;2、选择“工具”的“文件夹选项”&#xff0c;在“导航窗格”里选上“显…

ReactNative常用组件汇总

导航组件react-navigation: https://github.com/react-community/react-navigation 网络请求asios: https://github.com/mzabriskie/axios 设备信息react-native-device-info: https://github.com/rebeccahughes/react-native-device-info 缓存使用react-native-storage: https…

Yolov5训练自己的数据集之制作数据集

在VOC 2018文件夹下有五个文件夹&#xff0c;搜集好的图片放在JPEGImages文件夹下&#xff1b;标注后数据保存在Annotations文件夹下&#xff1b;labels文件夹在数据集的训练时用到&#xff1b;在ImageSets文件夹下有下面三个文件夹&#xff0c;在Main文件夹中有一个train.txt文…

ReactNative布局样式总结

flex number 用于设置或检索弹性盒模型对象的子元素如何分配空间 flexDirection enum(row, row-reverse ,column,column-reverse) flexDirection属性决定主轴的方向&#xff0c;默认是“column”&#xff1a; row&#xff1a;主轴为水平方向&#xff0c;起点在左端row-rev…

Android 线程池对象-ThreadPoolExecutor浅析

本人最近在已经在91&#xff0c;百度应用等渠道上线的个人应用——铃声酷的代码里用到了ThreadPoolExecutor这一线程池对象去处理并发&#xff0c;个人感觉相当的给力啊&#xff01;它是并发实用程序开放源码库 util.concurrent&#xff0c;它包括互斥、信号量、诸如在并发访问…

Linux kubuntu x64系统下解决QT5.12编辑菜单和工具栏不显示图标问题

Linux kubuntu x64系统下发现QT5.12在设计视图下编辑菜单和工具栏显示图标,但是编译运行后发现菜单和工具栏不显示图标,如下图: 我的解决办法是: 1.在QT项目中,菜单和工具栏图标一定要添加到项目资源文件中(在资源编辑器中Add Prefix后,再添加文件,关闭资源编辑器后自动将图标…

PyTorch系列 (二): pytorch数据读取自制数据集并

PyTorch系列 (二): pytorch数据读取 PyTorch 1: How to use data in pytorch Posted by WangW on February 1, 2019 参考&#xff1a; PyTorch documentationPyTorch 码源 本文首先介绍了有关预处理包的源码&#xff0c;接着介绍了在数据处理中的具体应用&#xff1b; 1 P…

nodejs+nginx获取真实ip

nodejs nginx获取真实ip分为两部分&#xff1a; 第一、配置nginx&#xff1b;第二、通过nodejs代码获取&#xff1b; 其他语言也是一样的&#xff0c;都是配置nginx之后&#xff0c;在http头里面获取“x-forwarded-for”. 第一、配置nginx location / {proxy_set_header Ho…

【OSChina-MoPaaS应用开发大赛】豪美创新后台业务管理系统

2019独角兽企业重金招聘Python工程师标准>>> 应用名称&#xff1a;豪美创新后台业务管理系统 应用URL地址&#xff1a;http://tyz.sturgeon.mopaas.com/admin/index.html 登录&#xff1a;admin/admin 投票地址&#xff1a;http://www.oschina.net/mopaas-app-co…

QT5更改应用程序图标

1.准备好.ico的图片放在工程目录下&#xff0c;并添加到项目的资源文件中 2.在项目配置.pro文件中添加一下内容 RC_ICONS AppIcon.icoAppIcon为你的ico图片名字 3.在可视化设计文件.ui中选择主窗口&#xff0c;将其属性中的windowIcon一项右侧下三角单击&#xff0c;从“选择…

python List中元素两两组合

python List中元素两两组合 import itertools aa [a, b, c] bb list(itertools.permutations(aa, 2)) print(bb) print("######################") cc list(itertools.combinations(aa, 2)) print(cc) 话不多说&#xff0c;运行结果解释一些 任何程序错误&…

xcode编译报错unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1

升级完xcode9.1之后&#xff0c;编译项目出现如下错误&#xff1a; CI今日构建时报出如下错误&#xff1a; /Users/xxx/Library/Developer/Xcode/DerivedData/Snowball-ebllohyukujrncbaldsfojfjxwep/Build/Intermediates.noindex/ArchiveIntermediates/ProjectName/Installat…

android button的selector

实现按钮的selector <?xml version"1.0" encoding"utf-8"?><selector xmlns:android"http://schemas.android.com/apk/res/android"><item android:drawable"drawable/common_topbar_route_bus_pressed" android:sta…

Windows Qt5下用QAxObject快速读写Excel指南

Qt Windows 下快速读写Excel指南 很多人搜如何读写excel都会看到用QAxObject来进行操作&#xff0c;很多人试了之后都会发现一个问题&#xff0c;就是慢&#xff0c;非常缓慢&#xff01;因此很多人得出结论是QAxObject读写excel方法不可取&#xff0c;效率低。 后来我曾试过…