博客
关于我
react native一键分享功能实现&原理和注意点(支持微信、qq、新浪微博等)
阅读量:461 次
发布时间:2019-03-06

本文共 1653 字,大约阅读时间需要 5 分钟。

前言

目前使用一键分享比较主流的两个SDK:ShareSDK、友盟。由于友盟功能较为全面,包含友盟统计、友盟推送等,本文将重点介绍友盟分享功能在React Native(RN)上的应用及需要注意的事项。

react native绑定SDK的两种方案

在实际开发中,绑定SDK的方式主要有以下两种:

  • 自己下载SDK包并手动集成

    需要从SDK官网下载对应的SDK包,按照步骤分别在Android和iOS上进行配置。然后在React Native项目中注册Package和Module,实现原生与RN之间的通讯。这种方式比较繁琐,但能完全自定义。

  • 使用现有开源或第三方方案

    借助其他开发者已经完成的Package和Module组件,直接将其引入RN项目中使用。这种方式相对懒人,但已经经过大量实践验证,代码复杂度较低,功能完整性较高。

  • 总结:两种方案各有优劣,选择时需根据项目需求权衡。现有开源方案在功能上已经接近最优化,建议优先考虑使用。

    一键分享实现方案

    本文将使用友盟(UMeng)作为分享SDK。具体使用版本为UMeng Social Tools,GitHub地址已移除,本文将重点阐述注意事项。

    注意事项(Android部分)

    除了GitHub文档中提到的10个步骤外,以下几点配置均为必不可少:

  • 修改相关代码包名

    需要在apsharemodulewxapiWBShareActivity.java中将相关包名替换为项目自身包名。

  • 添加必要的依赖

    在项目的build.gradle文件中添加如下依赖:

    dependencies {    // ... 其他依赖 ...    compile 'com.android.support:multidex:'    // ... 其他依赖 ...}
  • 启用Multi-dex支持

    defaultConfig中设置multiDexEnabled标签为true

    defaultConfig {    // ... 其他配置 ...    multiDexEnabled true    // ... 其他配置 ...}
  • 配置主应用类

    MainActivity.java中添加友盟统计相关引用:

    import com.umeng.analytics.MobclickAgent;import android.content.Intent;import android.os.Bundle;import com.umeng.socialize.UMShareAPI;
  • 应用程序入口配置

    MainApplication.java中引入必要的模块配置:

    import com.xxx.module.SharePackage; // 自定义包名import com.umeng.socialize.Config;import com.umeng.socialize.PlatformConfig;import com.umeng.socialize.UMShareAPI;
  • 常见问题与解决方案

    在完成上述配置后,可能会遇到以下错误:

    com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65935

    解决方法

  • 添加分包依赖

    build.gradle中添加multi-dex支持:

    dependencies {    // ... 其他依赖 ...    compile 'com.android.support:multidex:'    // ... 其他依赖 ...}
  • 启用Multi-dex支持

    在项目的build.gradle中添加以下配置:

    defaultConfig {    // ... 其他配置 ...    multiDexEnabled true    // ... 其他配置 ...}
  • 通过以上配置,应该能够解决该问题。

    转载地址:http://abwbz.baihongyu.com/

    你可能感兴趣的文章
    NHibernate学习[1]
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
    查看>>
    NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
    查看>>
    NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
    查看>>
    NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
    查看>>
    NIH发布包含10600张CT图像数据库 为AI算法测试铺路
    查看>>
    Nim教程【十二】
    查看>>
    Nim游戏
    查看>>
    NIO ByteBuffer实现原理
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NIO Selector实现原理
    查看>>