返回

微信分享安卓端不生效?一位大厂技术工程师踩坑总结,全是经验

前端

一、问题

在微信网页开发中,使用JSSDK自定义分享内容。按官方文档去弄,然后出现的问题是:IOS手机自定义分享正常,而安卓手机自定义分享不生效,但是wx.config之类的配置都是ok。我使用的JSSDK版本是1.4.0。分享API是updateAppMessageShareData。

二、原因分析

经过一番排查,终于找到了原因:安卓系统对SSL证书的验证机制与IOS系统不同。在IOS系统中,只要在app中配置好info.plist文件即可,而在安卓系统中,还需要在AndroidManifest.xml文件中配置。

三、解决方案

在AndroidManifest.xml文件中添加如下配置:

<application
    android:name="com.example.myapp"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:networkSecurityConfig="@xml/network_security_config"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

其中,network_security_config.xml文件的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">你的域名</domain>
    </domain-config>
</network-security-config>

四、总结

在使用微信自定义分享功能时,需要注意以下几点:

  1. IOS系统和安卓系统对SSL证书的验证机制不同。
  2. 在IOS系统中,只要在app中配置好info.plist文件即可。
  3. 在安卓系统中,还需要在AndroidManifest.xml文件中配置。
  4. 如果在安卓端分享不生效,可以检查一下AndroidManifest.xml文件和network_security_config.xml文件是否配置正确。

希望本文能帮助大家解决微信分享安卓端不生效的问题。