需求描述:
增加项目里面的微信分享功能
1.首先分析一下都有什么方式可以完成分享的功能,
1.1. 要有更多的分享的话建议使用第三方的如mob
1.2. 公司对着块要求不高,我选择简单的方式使用 fluwx: ^2.4.0(因为后续需要支付,所以直接配置了带有支付的插件)
dependencies:
flutter:
sdk: flutter
#微信分享
fluwx: ^2.4.0
2.项目中微信配置
2.1. 配置appid
_initFluwx() async {
await fluwx.registerWxApi(
appId: _youAppId,
doOnAndroid: true,
doOnIOS: true,
universalLink: _youNniversalLink);
var result = await fluwx.isWeChatInstalled;
print("is installed ${result.toString()}");
}
2.2. 调用分享(以下是没有进行封装的版本,后续会进行优化)
_weChatShare() async {
var isFluwx = fluwx.shareToWeChat(
fluwx.WeChatShareWebPageModel(
widget.qrCode,
title: '兴龙商务',
thumbnail: fluwx.WeChatImage.asset('assets/images/icon-108.png'),
description: '一站式综合服务平台,活动、年会;银行贷款;税收策划、薪税设计;诉讼、人事管理、股权激励等等',
scene: fluwx.WeChatScene.SESSION,
)
);
print(isFluwx.toString());
}
3.分享过程中遇到的问题
3.1. iOS分享因为有段时间没用了。配置中增加了Universal Links:
3.2. 就是本人不熟悉android签名和包名量费了些时间!
4.Universal Links:的配置
4.1. 首先让后台的兄弟帮你配置一下在(举例)https://www.baidu.com的根目录里面放一个apple-app-site-association.json(名字必须是apple-app-site-association)的json文件
4.2.1. 增加Associated Domains 到developer.apple -> identifiers -> 找到自己的项目 ->Associated Domains选中,然后重新生成相关的证书,倒入Xcode(不要忘记哦,)
4.2.2. Xcode中配置Domains: 举例 https://www.baidu.com
- android的配置
5.1. android的问题主要在包名和签名我不太清楚
5.2. 包名
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="you_package.name">
5.3. 签名
下载微信专门提供的一个app把包名放进去就能直接生成签名
- weChat的sdk配置,建议直接使用下面的这个不要用微信开发平台提供的那个
6.1. app下的androidManifest.xml 中增加
<activity
android:exported="true"
...>
<uses-permission android:name="android.permission.INTERNET"/>
欢迎大家进行交流,itlingmao@163.com
程序员里面快乐的一只猫