flutter开发实战-Universal Links配置及flutter微信分享实现

flutter开发实战-Universal Links配置及flutter微信分享实现

在最近开发中碰到了需要实现微信分享,在iOS端需要配置UniversalLink,在分享使用fluwx插件来实现微信分享功能。

一、配置UniversalLink

1.1、什么是UniversalLink

Universal link 是Apple在iOS9推出的一种能够方便的通过传统HTTPS链接来启动APP的功能,可以使用相同的网址打开网址和APP。当用户点击一个链接可以跳转到你的网站并获得无缝重定向到对应APP

1.2、苹果开发者账号配置

我们登录https://developer.apple.com/account/ 登录苹果开发者账号进入后,找到证书配置,
找到对应的appid,开通Associated Domains。

如图所示
在这里插入图片描述

得到Team id 和 bundle id

如图所示

在这里插入图片描述

1.3 创建apple-app-site-association

创建名为apple-app-site-association的文件
必须生成名字为 apple-app-site-association 的文件,没有后缀没有后缀没有后缀

“appID”: “teamId.yourapp’s bundle identifie”,
如"appID": “MJ989785AQE.com.my.myapp”,

文件的格式为图片内容中的格式,只可以修改details 数组中的内容,其他不能修改

{"applinks": {"apps": [],"details": [{"appID": "MJ989785AQE.com.my.myapp","paths": [ "*","/app/*"]}]}
}

注意:Universal Links必须支持https,Universal Links配置的文件(apple-app-site-association文件)paths不能带query参数,微信使用Universal Links拉起第三方App时,会在Universal Links末尾拼接路径和参数,因此App配置(apple-app-site-association文件)的paths必须加上通配符

“paths”: [“/*”] 路径为https域名后添加的文件夹路径

假设我们的链接为 https://www.baidu.com,
如果路径设置为"paths": [“/”] ,Universal Link链接为https://www.baidu.com,Associated Domains关联applinks:www.baidu.com
如果路径设置为"paths": [“/app/”] ,Universal Link链接为https://www.baidu.com/app/,Associated Domains关联applinks:www.baidu.com/app/

最后将配置好的指定文件apple-app-site-association,上传到HTTPS服务器的根目录下或者.well-known目录下,app在请求下载这个文件时优先从.well-known下载,如果请求不到文件,才会从根目录下载。

1.4 Xcode配置Associated Domains

根据上面的对应的关系,我们在Xcode配置Associated Domains

配置Associated Domains如图所示

在这里插入图片描述

1.5 配置工程的info.plist文件

我们需要在info.plist中添加LSApplicationQueriesSchemes

<key>LSApplicationQueriesSchemes</key><array><string>alipayshare</string><string>alipay</string><string>sinaweibohd</string><string>sinaweibo</string><string>weibosdk2.5</string><string>weibosdk</string><string>weibo</string><string>sinaweibosso</string><string>weixin</string><string>wechat</string><string>weixinULAPI</string><string>mqqopensdkapiV4</string><string>mqzone</string><string>mqqwpa</string><string>wtloginmqq2</string><string>mqzoneopensdkapiV2</string><string>mqzoneopensdkapi19</string><string>mqzoneopensdkapi</string><string>mqzoneopensdk</string><string>mqqopensdkapiV3</string><string>mqqopensdkapiV2</string><string>mqq</string><string>mqqOpensdkSSoLogin</string><string>mqqapi</string></array>

配置CFBundleURLTypes

在这里插入图片描述

<key>CFBundleURLTypes</key>
<array><dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLName</key><string>weixin</string><key>CFBundleURLSchemes</key><array><string>微信appId</string></array></dict><dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLName</key><string>myapp</string><key>CFBundleURLSchemes</key><array><string>myapp</string></array></dict>
</array>

1.6 验证universallink

在浏览器输入域名后如果已安装app可以选择打开app。如图所示

在这里插入图片描述

二、实现微信分享

2.1 微信开放平台配置

在配置好universallink后,在微信开放平台(https://open.weixin.qq.com/)配置universal links

如图所示

在这里插入图片描述

2.2 实现微信分享代码

在flutter端,我们可以使用fluwx来实现微信分享。

在pubspec.yaml中,引入fluwx: ^3.13.0,我这里使用的是3.13.0版本

代码实现,我们在app的入口中,添加代码

  void initState() {// TODO: implement initStatesuper.initState();configWeixin();}///配置微信fluwxvoid configWeixin() {registerWxApi(appId: "微信appId",universalLink: "配置的universalLink");}

实现分享功能

  void shareToWeixin() {WeChatShareTextModel weChatShareTextModel = WeChatShareTextModel("来自Flutter的分享, Hahaha",scene: WeChatScene.SESSION,);shareToWeChat(weChatShareTextModel).then((value) {print('shareToWeChat result:$value');}).catchError((error){print('shareToWeChat error:$error');}).whenComplete(() {print('shareToWeChat whenComplete');});}

在这里插入图片描述

三、小结

flutter开发实战-Universal Links配置及flutter微信分享实现。内容较多,可能描述不准确,请见谅。

学习记录,每天不停进步。

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

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

相关文章

在asp.net中,实现类似安卓界面toast的方法(附更多弹窗样式)

目录 一、背景 二、操作方法 2.1修改前 2.2修改后 三、总结 附&#xff1a;参考文章&#xff1a; 一、背景 最近在以前的asp.net网页中&#xff0c;每次点击确定都弹窗&#xff0c;然后还要弹窗点击确认&#xff0c;太麻烦了&#xff0c;这次想升级一下&#xff0c;实现…

ES知识点全面整理

● 我们从很多年前就知道 ES6, 也就是官方发布的 ES2015 ● 从 2015 年开始, 官方觉得大家命名太乱了, 所以决定以年份命名 ● 但是大家还是习惯了叫做 ES6, 不过这不重要 ● 重要的是, ES6 关注的人非常多, 大家也会主动去关注 ● 但是从 2016 年以后, 每年官方都会出现新…

ToBeWritten之车联网安全中常见的TOP 10漏洞

也许每个人出生的时候都以为这世界都是为他一个人而存在的&#xff0c;当他发现自己错的时候&#xff0c;他便开始长大 少走了弯路&#xff0c;也就错过了风景&#xff0c;无论如何&#xff0c;感谢经历 转移发布平台通知&#xff1a;将不再在CSDN博客发布新文章&#xff0c;敬…

用《斗破苍穹》的视角打开C#委托2 委托链 / 泛型委托 / GetInvocationList

委托链 经过不懈地努力&#xff0c;我终于成为了斗师&#xff0c;并成功掌握了两种斗技——八极崩和焰分噬浪尺。于是&#xff0c;我琢磨着&#xff0c;能不能搞一套连招&#xff0c;直接把对方带走。 using System; using System.Collections.Generic; using System.Linq; u…

串联起深度学习的整体,以及其他领域

1、从模型拟合&#xff08;收敛&#xff09;数据关系出发&#xff1a; 2、f从简单的一层和两层连接开始&#xff0c;发展&#xff1b;被表示成 3、如何判断收敛&#xff1a;,即目标函数 4、如何界定任务&#xff1a;&#xff0c;表示什么&#xff1f;表示什么&#xff1f;&a…

【Java 进阶篇】CSS 属性

当你学习CSS时&#xff0c;了解CSS属性是非常重要的&#xff0c;因为这些属性控制了网页上元素的外观和布局。本文将详细介绍一些常见的CSS属性&#xff0c;包括文本属性、盒子模型属性、背景和边框属性、定位属性等。我们还将为每个属性提供示例代码&#xff0c;以便你更好地理…

Xcode 15下,包含个推的项目运行时崩溃的处理办法

升级到Xcode15后&#xff0c;部分包含个推的项目在iOS17以下的系统版本运行时&#xff0c;会出现崩溃&#xff0c;由于崩溃在个推Framework内部&#xff0c;无法定位到具体代码&#xff0c;经过和个推官方沟通&#xff0c;确认问题是项目支持的最低版本问题。 需要将项目的最低…

android app开发环境搭建

Android是流行的移动设备原生应用开发平台&#xff0c;其支持Java语言以及Kotlin语言的开发环境&#xff0c;本文主要描述官方提供的Android studio集成开发环境搭建。 https://developer.android.google.cn/ 如上所示&#xff0c;从官方上下载最新版本的Android studio集成开…

ESP-07S进行TCP 通信测试

一&#xff0c;TCP Server 为 AP 模式&#xff0c;TCP Client 为 Station 模式。 这里电脑pc作为TCP Server&#xff0c;ESP-07S作为TCP Client 。 二&#xff0c;电脑端配置。 1&#xff0c;开启热点。 2&#xff0c;转到“设置”&#xff0c;编辑热点信息。 3&#xff0c;关闭…

华为数通方向HCIP-DataCom H12-831题库(多选题:241-259)

第241题 设备产生的信息可以向多个方向输出信息,为了便于各个方向信息的输出控制,信息中心定义了10条信息通道,使通道之间独立输出,缺省情况下,以下哪些通道对应的输出方向可以接收Trap信息? A、console通道 B、logbuffer通道 C、snmpagent通道 D、trapbuffer通道 答案:…

HiveServer2 Service Crashes(hiveServer2 服务崩溃)

Troubleshooting Hive | 5.9.x | Cloudera Documentation 原因&#xff1a;别人用的都好好的&#xff0c;我的集群为什么会崩溃&#xff1f; 1.hive分区表太多(这里没有说具体数量。) 2.并发连接太多&#xff0c;我记的以前默认是200个连接 3.复杂的hive查询访问表的的分区…

Sentinel入门

文章目录 初始Sentinel雪崩问题服务保护技术对比认识Sentinel微服务整合Sentinel 限流规则快速入门流控模式关联模式链路模式 流控效果warm up排队等待 热点参数限流全局参数限流热点参数限流 隔离和降级FeignClient整合Sentinel线程隔离熔断降级慢调用异常比例、异常数 授权规…