Coder Social home page Coder Social logo

jshare-react-native's Introduction

jshare-react-native

Install

npm install jshare-react-native --save
npm install jcore-react-native --save
react-native link
Add with CocoaPods(if you integrated react-native to native iOS project)

Add the JShareRN pod to your list of application pods in your Podfile, using the path from the Podfile to the installed module:

pod 'JShareRN', :path => '../node_modules/jshare-react-native'
pod 'JCoreRN', :path => '../node_modules/jcore-react-native'

Install pods as usual::

pod install

Manually Configure Part

Android

That's it.

iOS

Usage

  • Import JShareModule:

    your component.js

    ...
    import JShareModule from 'jshare-react-native';
    JShareModule.setup(param) // iOS 调用该方法才能正常使用, param 参考 API 文档
  • Use JShareModule call APIs, API Document

jshare-react-native's People

Contributors

arfawong avatar huangminlinux avatar huangshuni avatar joshlipan avatar kala888 avatar kenchoi1992 avatar lxxyx avatar pampang avatar skill20 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jshare-react-native's Issues

微信登录时报错:iOS错误代码:42001;android错误代码:invalid appsecret

iOS:

"Error Domain=JShareErrorDomain_weChat Code=42001 "未能完成操作。(“JShareErrorDomain_weChat”错误 42001。)" UserInfo=0x175073f40 {error_message=invalid credential, access_token is invalid or not latest, hints: [ req_id: 0a.cNa0494s152 ]}"

android:

java.lang.Throwable: invalid appsecret, view more at http://t.cn/RAEkdVq, hints: [ req_id: hI0889th36 ]
 at cn.jiguang.share.android.api.AbsPlatform.notifyError(Unknown Source)
 at cn.jiguang.share.wechat.d.run(Unknown Source)

P.S.: 似乎在android下,报上述错误的时候,不会进入到 onError 中。

实在抱歉通过这种形式来问问题,但问题没有解决思路,而项目急需上线,烦请多多见谅。如果有解决方案,感谢你留下你的做法~

微信登录失败

请问是否可以使用如下方法实现微信登录?还是有更合理的方法?

`JShareModule.authorize({platform: 'wechat_session'}, (map) => {
this.auth.loginProfile = JSON.stringify(map)
this.auth.openid = map.openid
ServerLogStore.Log('oauth', this.auth.loginProfile)
console.log("Authorize succeed " + this.auth.loginProfile);
//Toast.show("Authorize succeed " + this.auth.loginProfile, {position: Toast.positions.CENTER});

                JShareModule.getSocialUserInfo({platform: 'wechat_session'}, (map2) => {
                        Toast.show('getSocialUserInfo', {position: Toast.positions.CENTER});
                        console.log(map2);
                        this.auth.profile = JSON.stringify(map2)
                        this.auth.name = map2.name
                        this.auth.avatar = map2.iconUrl
                        this.auth.gender = map2.gender
    
                        this.post()
                    }, (errorCode2) => {
                        console.log("errorCode: " , errorCode2);
                        Toast.show("Get social user info failed, errorCode : " +JSON.stringify(errorCode2) , {position: Toast.positions.CENTER});
    
                    })
                    
            }, (errorCode) => {
                console.log("Authorize failed, errorCode : " , errorCode);
                Toast.show("Authorize failed, errorCode : " + JSON.stringify(errorCode), {position: Toast.positions.CENTER});
            });`

调用微信

弹出吐司说正在打开 然后就没反应了 是签名的问题?

分享失败:未完成初始化

版本信息:

    "react-native": "0.54.2",
    "janalytics-react-native": "^1.1.2",
    "jcore-react-native": "^1.2.5",
    "jpush-react-native": "^2.1.13",
    "jshare-react-native": "^1.3.1",

使用 pod install 安装的。

RCTJShareConfig.plist 也已经创建了,并且在 Xcode 中打断点跟进 setup 方法中了,但是在分享的时候,还是返回了 未完成初始化 的错误。

截图如下:

2018-04-23 18 28 00

2018-04-23 18 27 49

2018-04-23 18 30 27

谢谢。

另外,我的 iOS 端的统计貌似也是有问题的,极光后台统计数据页面还是提示“您还没有集成极光开发者服务SDK”。

补一个启动之后,XCode输出的日志,极光相关部分的截图
2018-04-24 09 53 05

Project with path ':jcore-react-native' could not be found in project ':app'.

我按照README在android/app/build.gradle文件中添加以下代码
dependencies { compile project(':jshare-react-native') // 不知道这样写 路径对不对 compile project(':jcore-react-native') // // 不知道这样写 路径对不对 compile fileTree(dir: "libs", include: ["*.jar"]) compile "com.android.support:appcompat-v7:23.0.1" compile "com.facebook.react:react-native:+" // From node_modules }
是不是哪里出错了,请指教。

init的时候, java.lang.NullPointerException

Caused by: java.lang.NullPointerException at cn.jiguang.b.a.b(Unknown Source) at cn.jiguang.b.a.a(Unknown Source) at cn.jiguang.api.JCoreInterface.init(Unknown Source) at cn.jiguang.share.android.api.JShareInterface.init(Unknown Source) at com.aim.weixiaoshenghuo.MainApplication.onCreate(MainApplication.java:87)

安卓上出现微信风险闪一下 没有报错

1.分享链接的时候 分享到微信中如果没有登录账号可以进入微信界面,但是登录账号以后总是闪过一个请稍候,也没有打开微信,没有报错。 同时分享微博的时候报错显示 {description: "Cannot find the description", state: "fail", code: 2} qq可以分享
2. 分享文字的时候 微信同上 qq显示 {description: "不合法的 mediaType", state: "fail", code: 40005},微博 {description: "Cannot find the description", state: "fail", code: 2}
请问这是什么问题

error undefined is not an object

undefined is not an object (evaluating 'JShareModule.getPlatformList') - -- -- -
问题解决了 是link的问题
配置完了 获取分享的平台列表是空的 是什么原因

[ios]微信分享图片坑

ios 微信分享图片会报错,
查看源代码发现

 if ([param[@"type"] isEqualToString: @"image"]) {
    if (param[@"image"]) {
      message.image = [NSData dataWithContentsOfFile:param[@"image"]];
    }
   ....

与文档描述的不符

* {
   *  type: 'image'
   *  platform: platformString  // 分享到指定平台
   *  imagePath: String   // 本地图片路径 imagePath, imageUrl imageArray 必须三选一
   *  text: String  // 选填
   *  imageUrl: String // 网络图片地址,必须以 http 或 https 开头,imagePath, imageUrl imageArray 必须三选一 (iOS 不支持这个字段)
   *  imageArray: [String]  // (选填: 分享到 Qzone 才提供这个字段) 如果需要分享多张图片需要这个参数,数组中问题图片路径 imagePath, imageUrl imageArray 必须三选一
   * }

分享本地图片imagePath路径问题

已经用过的方法:
1、看过@huangxiaohao 提出的路径问题处理,使用了其中讨论的方法;
其中运用react-native-fs中的RNFS.MainBundlePath方法获取路径,在安卓上面无法使用。(能获取到其他路径比如RNFS.PicturesDirectoryPath)
2、参照example中的路径,自己拼接的也不能成功;(强烈建议能否修改下example中路径引用)
3、在分享种类是text的时候,分享是成功的;
4、使用相对路径引用也是不成功的;
5、弹出的错误都是:“文件不存在”,code:“41027”;
6、分享网络图片imageUrl,微信不显示图片,QQ图片能显示。
疑惑点:
1、imagePath寻找的是哪里的路径?
2、不知道@huangxiaohao最后是怎么解决安卓上面的问题的?
环境:
"janalytics-react-native": "^1.1.2",
"jcore-react-native": "^1.2.5",
"jpush-react-native": "^2.1.13",
"jshare-react-native": "^1.3.1",
"metro-bundler": "^0.22.1",
"react": "16.2.0",
"react-native": "0.52.2",
"react-native-fs": "^2.9.12",
"react-native-gesture-password": "^0.3.2",
"react-native-update": "^5.0.0",
"react-navigation": "^1.0.0-beta.27",
"react-redux": "^5.0.6",
"redux": "^3.7.2",
"redux-thunk": "^2.2.0"

分享好友 分享朋友圈

分享好友成功之后 会在微信界面出现一个选择 是返回app还是留在微信,
分享朋友圈,直接分享完后 闪现一下就回到了app 这是你们本身的设计 还是我实现有问题?

未完成初始化问题

{ description: 'Error Domain=JShareErrorDomain Code=40010 "(null)" UserInfo={error_message=未完成初始化。}'

iOS安装编译报错

背景:纯RN项目

  1. 安装
  2. react-native link

Headers search path已加

编译时报错:

Undefined symbols for architecture x86_64:
"OBJC_CLASS$_JSHAREService", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64

另外在使用 pods install 添加依赖时,Pods会安装 React 的依赖

cn.jiguang.share.wechat.b.a(Unknown Source)

环境

android: 7.0
jcore-react-native::1.2.5
jshare-react-native:1.3.1
react:16.2.0
react-native:0.53.3

问题描述

调用 share 的时候弹出 “请稍后...”的转圈圈提示,然后瞬间又回来App,并未成功唤起微信

RN 代码

let shareParam = {
      platform: "wechat_session",
      type: "link",
      url: "https://www.baidu.com",
      imageUrl: "http://img.taopic.com/uploads/allimg/120727/201995-120HG1030762.jpg",
      title: " shared link",
      text: "the web link",
    };

    JShareModule.share(shareParam, (map: Object) => {
      console.log("share succeed, map: " + JSON.stringify(map));
    }, (map: Object) => {
      console.log("share failed, map: " + JSON.stringify(map));
});

错误提示

Chrome  console:
share failed, map: {"description":"Cannot find the description","state":"fail","code":-6}
Android Studio:
I/RCTJShareModule: share failed
W/System.err: java.lang.Throwable
W/System.err:     at cn.jiguang.share.android.api.AbsPlatform.notifyError(Unknown Source)
W/System.err:     at cn.jiguang.share.wechat.b.a(Unknown Source)
W/System.err:     at cn.jiguang.share.wechat.b.a(Unknown Source)
W/System.err:     at cn.jiguang.share.wechat.WeChatHandleActivity.onCreate(Unknown Source)
W/System.err:     at android.app.Activity.performCreate(Activity.java:6915)
W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2746)
W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)
W/System.err:     at android.app.ActivityThread.-wrap12(ActivityThread.java)
W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:105)
W/System.err:     at android.os.Looper.loop(Looper.java:156)
W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:6523)
W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)

其他情况描述

jpush 可以正常使用

我是android 小白也不清楚哪里配置错误了,求各位大大帮忙

仔细测试过分享得出的结论

jshare-react-native 1.1.7
以下测试数据平均每个分享3次测试,取消分享回调测试和分享回调测试

Ios取消分享回调和分享回调结果:

image

android取消分享回调和分享回调结果:

image
综上测试提出几点建议:
1,统一ios、android回调参数格式,今天在群里提过了,但是貌似没有完全统一,这对于使用者(特别像我这种有代码强迫症的猿)来说使用起来非常的不友好。
类似:

{
	“code”: “正确/错误代码”,
	“message”: “正确/错误代码的解释”,
	“platform”:“分享平台的名称”
}

2,(看图中标记)android 上问题感觉比较多,有的时候回调有的时候不回调,没有规律,不知道什么情况,麻烦发布版本的时候测试以下啊 😂。
3,首先非常感谢你们提供给各类插件,但是如果在我们集成使用阶段花费我们太多的时间的话,对开发进度造成了影响,结果是糟糕的。
4,最后麻烦你们尽快修复,项目月底要上线,比较赶啊。。。
@KenChoi1992 @huangminlinux

imagePath本地图片路径问题

您好,我使用jshare进行微信/微博分享,目前遇到的一个问题就是如何设置imagePath本地图片路径?
我按照文档上面的demo方法,但是方法并没有调用。

官方demo上面是这样写的:

componentWillMount() {
    NativeAppEventEmitter.addListener('finishGetResource', (result) => {
        this.setState({ 
            imagePath: result.imagePath ,
            videoPath: result.videoPath,
            emotionPath: result.emotionPath,
          });
          console.log(this.state)
        });
  }

但是按照这个写法,监听事件并没有被调用,请问这是为什么呢?谢谢!

分享不能弹分享对话框

如题, 试了好久不知道问题出在哪儿,环境用的是自己创建的demo和你们提供的JGShareSDK.xml 跟这个有关系吗

微信朋友圈分享没有图

"jshare-react-native": "^1.1.2",

share = () => {
const shareParam = {
platform: "wechat_timeLine",
type: "link",
url: "JShare test text",
imagePath: "",
title: "前律师谈朴槿惠:她腰不好常喊疼 狱中仍操心国事",
text: "外网12月6日电自从10月中旬7名辩护律师集体辞职后,朴槿惠一直闭门不出、拒绝出庭,引发舆论持续关注。近日,其前任律师都泰宇接受韩媒channel A《局外人》节目采访时,介绍了朴槿惠的近况",
imageUrl: "http://bbt-test.oss-cn-shanghai.aliyuncs.com/images/CU000401/2017/0926/110549_6311318.jpg?x-oss-process=style/normal"
}

image

回调问题

//文档推荐:无效

  • (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    [JSHAREService handleOpenUrl:url];
    return YES;
    }

//非文档推荐:有效
// Add this above the @end:

  • (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
    sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    [JSHAREService handleOpenUrl:url];

    return [RCTLinkingManager application:application openURL:url
    sourceApplication:sourceApplication annotation:annotation];
    }

何解?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.