react native一键分享功能实现amp;原理和注意点(支持微信、qq、新浪微博等)

前言

目前使用一键分享比较主流的两个SDK:ShareSDK、友盟;

又因为友盟功能比较多且比较全,比如说友盟统计、友盟推送等,所以本文重点介绍的是友盟分享功能在rn上的应用以及要注意的点。

 

react native绑定SDK两种方案(一个原理):

  1.自己去要绑定的SDK官网下载SDK包,按照SDK安装指南分别在android/iOS上按步骤配置,然后在RN注册Package和Module实现RN和原生之间的通讯;

  2.使用别人已经写过的Package和Module+SDK本身的配置,直接拿到rn项目中用;

总结:可以看出来第二种其实是比较偷懒的方式,但是可以实现功能,而且Package和Module的书写几乎一样都是大同小异的代码(除了Module暴露调用方法的顺序不同之外),所以如果市面上已经有相应的绑定大可直接拿来使用。

 

一键分享实现方案

我们本文要使用的友盟分享库是:react-native-share 

GitHub地址:https://github.com/songxiaoliang/react-native-share

配置详见上面GitHub里README部分,这里不在重复,本文重点要说的是注意事项。

 

注意事项(Android部分)

除了上文GitHub里面的10个步骤之后,接下来的配置也是必不可少的.

1.需要在app目录build.gradle文件dependencies里面添加如下配置:

dependencies {
...
//友盟分享
compile files('libs/weiboSDKCore_3.1.4.jar')
compile files('libs/wechat-sdk-android-with-mta-1.1.6.jar')
compile files('libs/umeng_social_tool.jar')
compile files('libs/umeng_social_net.jar')
compile files('libs/umeng_social_api.jar')
compile files('libs/SocialSDK_WeiXin_Full.jar')
compile files('libs/SocialSDK_Sina_Full.jar')
compile files('libs/SocialSDK_facebook.jar')
compile files('libs/SocialSDK_QQ_Full.jar')
compile files('libs/SocialSDK_alipay.jar')
compile files('libs/open_sdk_r5781.jar')
compile files('libs/libapshare.jar')
compile 'com.android.support:multidex:'
}

2.需要注意修改apshare、module、wxapi、WBShareActivity.java里面的包名改成自己项目的包名;

3.MainActivity.java需要添加引用:

import com.umeng.analytics.MobclickAgent;
import android.content.Intent;
import android.os.Bundle;
import com.umeng.socialize.UMShareAPI;

4.MainApplication.java需要添加引用:

import com.xxx.module.SharePackage;  //xxx为你的包名
import com.umeng.socialize.Config;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;

5.以上配置完毕,运行依然报错“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65935”

解决方案:

①.在项目的build.gradle文件的dependencies 节中添加分包设置:

dependencies { 
... 
compile 'com.android.support:multidex:' 
... 
}

②.通过在defaultConfig节中设置multiDexEnabled标签为true,开启multi-dexing支持.

defaultConfig { 
... 
multiDexEnabled true 
... 
}

 

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

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

相关文章

华为交换机S3700清空配置方法

1、用户视图下输入:reset saved-configuration;输入:Y,确认清除 2、输入:reboot;重启系统(第1次提示输入:N 不保存配置;第2次提示输入:Y 确认重启&#xff0…

Udp通讯(零基础)

前面学习了Tcp通讯之后听老师同学们讲到Udp也可以通讯,实现还要跟简单,没有繁琐的连接,所以最近学习了一下,记录下来以便忘记,同时也发表出来与大家相互学习,下面是我自己写的一个聊天例子,实现…

VOC数据集格式转化成COCO数据集格式

VOC数据集格式转化成COCO数据集格式 一、唠叨 之前写过一篇关于coco数据集转化成VOC格式的博客COCO2VOC,最近读到CenterNet的官方代码,实现上则是将voc转化成coco数据格式,这样的操作我个人感觉很不习惯,也觉得有些奇葩&…

华为交换机S3700端口基本配置

1.配置AAA验证方式的用户名和密码(配置用户名admin,加密密码:admin@123,接入类型:telnet) 进入系统视图后 aaa local-user admin password cipher admin@123 local-user admin service-type telnet2.交换机配置端口为access方法 进入系统视图后 interface Ethernet0/0/2…

react native android6+拍照闪退或重启的解决方案

前言 android 6权限使用的时候需要动态申请&#xff0c;那么在使用rn的时候要怎么处理拍照权限问题呢&#xff1f;本文提供的是一揽子rn操作相册、拍照的解决方案&#xff0c;请看正文的提高班部分。 解决步骤 1、AndroidManifest.xml设置拍照权限&#xff1a; <uses-perm…

JavaScript中Object.keys、Object.getOwnPropertyNames区别

定义 Object.keys 定义&#xff1a;返回一个对象可枚举属性的字符串数组&#xff1b; Object.getOwnPropertyNames 定义&#xff1a;返回一个对象可枚举、不可枚举属性的名称&#xff1b; 属性的可枚举性、不可枚举性 定义&#xff1a;可枚举属性是指那些内部 “可枚举” …

yii框架cookie写入与读取方法

写入cookie: $cookie Yii::app()->request->getCookies(); unset($cookie[$name]); 读取cookie: $cookie Yii::app()->request->getCookies(); echo $cookie[mycookie]->value; 网站查询转载于:https://www.cnblogs.com/itxueba/p/3505979.html

华为交换机基本查询、目录、文件操作命令

1.基本查询命令(在用户视图下使用) pwd 查看当前目录 dir 显示当前目录下的文件信息 more 查看文本文件的具体内容 2.基本目录操作命令(在用户视图下使用) cd 切换目录 mkdir 创建新的目录 rmdir 删除目录 cd… 返回上级目录 3.基本文本操作命令(在用户视图下使用) cop…

学术论文SCI、期刊、毕业设计中的图表专用软件

Origin Origin是由OriginLab公司开发的一个科学绘图、数据分析软件&#xff0c;支持在Microsoft Windows下运行。Origin支持各种各样的2D/3D图形。Origin中的数据分析功能包括统计&#xff0c;信号处理&#xff0c;曲线拟合以及峰值分析。 Origin中的曲线拟合是采用基于Lever…

常用的学术论文图表(折线图、柱状图)matplotlib python代码模板

最终选用了pythonMatplotlib。Matplotlib是著名Python的标配画图包&#xff0c;其绘图函数的名字基本上与 Matlab 的绘图函数差不多。优点是曲线精致&#xff0c;软件开源免费&#xff0c;支持Latex公式插入&#xff0c;且许多时候只需要一行或几行代码就能搞定。 然后小编经过…

史上最详细nodejs版本管理器nvm的安装与使用(附注意事项和优化方案)

使用场景 在Node版本快速更新迭代的今天&#xff0c;新老项目使用的node版本号可能已经不相同了&#xff0c;node版本更新越来越快&#xff0c;项目越做越多&#xff0c;node切换版本号的需求越来越迫切&#xff0c;传统卸载一个版本在安装另一个版本的方式太过于麻烦&#xf…

华为交换机配置当前时区、日期和时间等参数

1.华为交换机时区设置 UTC和GMT 整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地…

qtp:exit 函数

1、ExitAction() 退出当前操作&#xff0c;无论其本地&#xff08;操作&#xff09;循环属性是什么。2、ExitActionIteration() 退出操作的当前循环。3、ExitComponent()退出当前组件并继续业务流程测试中的下一个组件&#xff0c;无论组件的循环设置是什么。4、ExitComponentI…

【TensorFlow】 基于视频时序LSTM的行为动作识别

简介 本文基于LSTM来完成用户行为识别。数据集来源&#xff1a;https://archive.ics.uci.edu/ml/machine-learning-databases/00240/ 此数据集一共有6种行为状态&#xff1a; 行走&#xff1b; 站立&#xff1b; 躺下&#xff1b; 坐下&#xff1b; 上楼&#xff1b; 下楼&am…

javascript数组去重方法汇总

前言 数组去重已经是一个老生常谈的问题了&#xff0c;依然经久不息&#xff0c;经过岁月的变迁es标准的升级迭代&#xff0c;似乎有越来越多的方法和方式供我们使用&#xff0c;那么那种方式才是最优的&#xff1f;那种才是最简洁的&#xff1f;这个我们一起来探讨。 省略&am…

华为交换机认证aaa模式创建本地用户

在系统视图下 telnet server enable //enable选项开启Telnet服务 (普通系列一般为这个) user-interface vty 0 4 protocol inbound telnet //配置vty支持telnet协议 authentication-mode aaa user privilege level 15 aaa local-user admin password cipher admin@123 lo…

利用Asp.net MVC处理文件的上传下载

如果你仅仅只有Asp.net Web Forms背景转而学习Asp.net MVC的&#xff0c;我想你的第一个经历或许是那些曾经让你的编程变得愉悦无比的服务端控件都驾鹤西去了.FileUpload就是其中一个&#xff0c;而这个控件的缺席给我们带来一些小问题。这篇文章主要说如何在Asp.net MVC中上传…

Python遍历文件夹下所有文件及目录

遍历文件夹中的所有子文件夹及子文件使用os.walk()方法非常简单。 语法格式大致如下&#xff1a; os.walk(top[, topdownTrue[, onerrorNone[, followlinksFalse]]]) top – 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文…

你必须知道的session与cookie

Session本质 提到Session我们能联想到的就是用户登录功能&#xff0c;而本身我们使用Session的基础是通过url进行访问的&#xff0c;也就是使用http协议进行访问的&#xff0c;而http协议本身是无状态的&#xff0c;那么问题来了服务器端是怎么验证客户端身份的&#xff1f; …

华为交换机telnet和ftp服务开启/关闭命令

1.telnet开启/关闭 在系统视图下 启用方式如下&#xff1a; telnet server enable //使能telnet服务关闭方式如下&#xff1a; undo telnet server //关闭telnet服务2.FTP开启/关闭 通过display ftp-server查看启用状态 如果已经启用&#xff0c;会在查看的命令中显示&#…