react native分享实现微博分享,QQ分享,微信分享、朋友圈分享[图文分享]

react native分享,友盟sdk社会化分享,微博,QQ,微信分享,分享sdk的集成方式对于前端开发者是怎么样的呢?接下来看看react native前端如何实现集成友盟分享sdk,请耐心看完绝对是干货。由于我在集成这个的时候碰到太多的坑,都是参照简书,CSDN等博客,却发现那些是给android开发者看的,☁️☁️☁️以下是以微信安卓为例

react native分享SDK 微信分享 QQ分享 微博分享 友盟分享SDK
react native分享SDK

第一步 申请集成友盟分享所需的key

友盟appkey前往https://www.umeng.com注册账号,然后添加一个自己的移动应用产品 在统计类目下都行,主要是获取一个appkey
微信开发者 appid secret 前往https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN创建一个自己的移动应用

第二步 下载所需要的sdk

前往https://developer.umeng.com/sdk/reactnative寻找reactnative的sdk,选择精简版的QQ分享微信分享微博分享SDK下载

 第三步 将下载的文件放入相应文件夹

首先预览下载的文件夹

如果目录一致的话就可以继续了!⬇️⬇️⬇️⬇️⬇️⬇️

1.回到自己的项目目录 ~~~/android/app  ;这个目录下如果没有libs文件夹的话自己建一个,然后将下载的文件夹中所有的.jar文件都放到这里!休息30秒.....
2.到下载的文件夹里面看看,找到所有的.java类文件,再休息10秒....
  到react native 分享项目目录~~~/android/app/src/main/java/com/*包名*/    ;如果不存在invokenative文件夹的话,建一个。将那几个java类放到这里。

3.回到下载的文件夹中。找到所有的res目录中的文件,休息10秒...

回到项目中~~~/android/app/src/main   ;如果不存在res目录,自己建一个。将下载的res目录中的文件与这个res合并记得是合并

4.将 ShareUtil.js 放到项目react前端开发目录中,稍后会导入使用

至此U-share SDK文件都已经放好了,但是它不会正确的被加载

第四步 修改文件内容 

1.将jar正确依赖进来

找到~~/android/app/build.gradle

dependencies{
    compile fileTree(dir: 'libs', include: ['*.jar']) //添加
}

2.将各包类正确导入

找到invokenative文件夹下的几个java类将文件的第一行修改

package com.*包名*.invokenative;

3.初始化react native 分享

1⃣️找到 DplusReactPackage.java,注释不需要的两行
 

modules.add(new ShareModule(reactContext));//分享
//modules.add(new PushModule(reactContext));//推送
//modules.add(new AnalyticsModule(reactContext));//统计

2⃣️找到 MainActivity.java 追加

/**
     *share 初始化
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        ShareModule.initSocialSDK(this);
    } 
    /**
    *
    *share 回调代码
    */
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
    }

3⃣️找到MainApplication.java 

导入包

import com.包名.invokenative.DplusReactPackage;
import com.包名.invokenative.RNUMConfigure;
import com.umeng.socialize.PlatformConfig;
import com.umeng.commonsdk.UMConfigure;

 修改:

protected List<ReactPackage> getPackages() {
            return Arrays.<ReactPackage>asList(
                    new MainReactPackage(),
                    new DplusReactPackage(),//添加这行
public void onCreate() {
        super.onCreate();
        SoLoader.init(this, /* native exopackage */ false);
        RNUMConfigure.init(this, "友盟的appkey", "Umeng", UMConfigure.DEVICE_TYPE_PHONE, ""); //添加

最后添加react native 分享QQ 微信 微博 key

//必须是真是有效的自己申请的
{
        PlatformConfig.setWeixin("微信appid", "微信secret");
        PlatformConfig.setSinaWeibo("同理", "同理", "http://sns.whalecloud.com");
        PlatformConfig.setQQZone("同理", "同理");
    }

 

4.添加react native 分享所需的权限

找到 AndroidManifest.xml

    <!--share-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

    <activity
    android:name=".WBShareActivity"
    android:configChanges="keyboardHidden|orientation"
    android:screenOrientation="portrait" >
    <intent-filter>
        <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    </activity>
    <activity
        android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
        android:configChanges="keyboardHidden|orientation"
        android:windowSoftInputMode="adjustResize"
        android:exported="false" >
    </activity>
    <service android:name="com.sina.weibo.sdk.net.DownloadService"
        android:exported="false"></service>
    <activity
        android:name=".wxapi.WXEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity
        android:name="com.tencent.tauth.AuthActivity"
        android:launchMode="singleTask"
        android:noHistory="true" >
    
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="tencent100424468" />  
        </intent-filter>
    </activity>
    <activity
        android:name="com.tencent.connect.common.AssistActivity"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:configChanges="orientation|keyboardHidden|screenSize"/>
    <activity
        android:name=".apshare.ShareEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <meta-data
        android:name="UMENG_APPKEY"
        android:value="友盟appkey" >   
    </meta-data>

 第五步 在前端react native页面使用分享

例如需要在首页使用react native 分享

index.js

import ShareUtil from '../../../config/libs/ShareUtil';//导入分享的模块

//调用方法
showShowSharePanel(){
   ShareUtil.shareboard('','imgUrl','https://m.baidu.com/','百度一下,你就知道',[0,2,3],(code,message) =>{
      Alert.alert('title', 'msg:' + message);
    });
  }

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
继“Java开发微信朋友圈PC版系统-架构1.0”之后,debug这段时间日撸夜撸,终于赶在春节放假前给诸位带来了这一系统的架构2.0版本,特此分享给诸位进行学习,以掌握、巩固更多的技术栈以及项目和产品开发经验,同时也为即将到来的金三银四跳槽季做准备! 言归正传,下面仍然以问答的方式介绍下本门课程的相关内容! (1)问题一:这是一门什么样的课程? 很明显,本门课程是建立在架构1.0,即 第1门课程 的基础上发布的,包含了架构1.0的内容,即它仍然是一门项目、产品实战课,基于Spring Boot2.X + 分布式中间件开发的一款类似“新浪微博”、“QQ空间”、“微信朋友圈”PC版的互联网社交软件,包含完整的门户网前端 以及 后台系统管理端,可以说是一套相当完整的系统! (2)问题二:架构2.0融入了哪些新技术以及各自有什么作用? 本课程对应着系统架构2.0,即第2阶段,主要目标:基于架构1.0,优化系统的整体性能,实现一个真正的互联网社交产品;其中,可以学习到的技术干货非常多,包括:系统架构设计、Spring Boot2.X、缓存Redis、多线程并发编程、消息中间件RabbitMQ、全文搜索引擎Elastic Search、前后端消息实时通知WebSocket、分布式任务调度中间件Elastic Job、Http Restful编程、Http通信OKHttp3、分布式全局唯一ID、雪花算法SnowFlake、注册中心ZooKeeper、Shiro+Redis 集群Session共享、敏感词自动过滤、Java8 等等; A.  基于Elastic Search实现首页列表数据的初始化加载、首页全文检索;B.  基于缓存Redis缓存首页朋友圈“是否已点赞、收藏、关注、评论、转发”等统计数据;整合Shiro实现集群部署模式下Session共享;C.  多线程并发编程并发处理系统产生的废弃图片、文件数据;D.  基于Elastic Job切片作业调度分布式多线程清理系统产生的废弃图片;E.  基于RabbitMQ解耦同步调用的服务模块,实现服务模块之间异步通信;F.  基于WebSocket实现系统后端 与 首页前端 当前登录用户实时消息通知;G.  基于OKHttp3、Restful风格的Rest API实现ES文档、分词数据存储与检索;H.  分布式全局唯一ID 雪花算法SnowFlake实现朋友圈图片的唯一命名;I.  ZooKeeper充当Elastic Job创建的系统作业的注册中心;J.  为塑造一个健康的网络环境,对用户发的朋友圈、评论、回复内容进行敏感词过滤;K.  大量优雅的Java8  Lambda编程、Stream编程;  (3)问题三:系统运行起来有效果图看吗?
2021已然来临,在此之际debug抽空撸了一套 类似“QQ空间”、“新浪微博”、“微信朋友圈”PC版的互联网社交软件系统,并将其录制成了视频,特此分享给诸位进行学习,以掌握、巩固更多的技术栈和项目、产品开发经验! 言归正常,下面以问答的方式重点介绍下本门课程/系统的相关内容!  (1)问题一:这是一门什么样的课程? 本门课程是一门项目实战课程,基于Spring Boot2.X开发的一款类似“新浪微博”、“QQ空间”、“微信朋友圈”PC版的互联网社交软件,包含完整的门户网前端 以及 后台系统管理端,可以说是一套相当完整的系统!,大纲图如下所示:  而整个系统的系统架构设计如下图所示(注意:该图表示的是整个系统架构将经历N个阶段的演进,目前初定是4个阶段的演进,分别是架构1.0、2.0、3.0、4.0 !)   (2)问题二:可以学到哪些技术? 本课程对应着系统架构1.0,即第一阶段,主要的目标在于实现一个完整的系统,可以学到的技术还是比较多的:Spring Boot2.X、Java基础、Java8、JUC、NIO、微服务、分布式、系统架构设计、SpringMVC、MySQL、Lucene、多线程、并发编程、Bootstrap、HTML5、CSS3、JQuery、AdminLTE、VUE、LayUI相关组件等等 从架构2.0,即第二阶段的内容(对应第2门课程)开始将慢慢融入更多地技术栈,用以解决更多的业务、性能和服务拆分等问题!本门课程是后续其他阶段对应的课程的奠基,因此如果想要学习后续架构2.0、3.0、4.0的演进,则必须得先学习本门课程!   (3)问题三:系统运行起来有效果图看吗?   (4)问题四:学习本课程之前有什么要求? 要求的话,主要有两点,一是要有一定的Spring Boot、MySQL 以及 Web开发基础;二是最好学过Debug录制的 “企业权限管理平台(Spring Boot2.X+Shiro+Vue)”项目实战课程,因为本门课程“仿微博系统全程实战”的后台管理正是基于 “企业权限管理平台”项目二次开发的,因此建议最好先撸了那个课程再来学习本门课程! 友情提示:“企业权限管理平台(Spring Boot2.X+Shiro+Vue)”项目实战课程的购买学习地址:https://edu.csdn.net/course/detail/25646  (TIP:可以考虑购买组合套餐课程哦,更加实惠!!!)  岁末将至,人心浮躁 当此之际,应当沉下心,摒弃浮躁 要相信技术是第一生产力 相信技术改变生活、技术成就梦想! 特别是那些即将在过完年准备跳槽面试的小伙伴,本系统将可以为你增添几分亮点!!!  寄语:购买本课程的小伙伴将可获得本课程完整的视频教程、系统源代码数据库、课件PPT以及其他相关的工具跟资料,还可以进专属技术交流群交流技术!!!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值