jshare-react-native
Version:
JShare SDK for react native application
549 lines (482 loc) • 15.5 kB
Markdown
# API List
JShare plugin's APIs list.
## Usage
```javascript
// xxx means function name, some have callbacks.
JShareModule.xxx();
```
- **setup()** : 1.3.0 之后版本将不再需要填写平台参数。
```javascript
/**
* iOS Only
*/
JShareModule.setup()
```
- **getPlatformList(cb)**
```javascript
/**
* 获取SDK所有能用的平台名称,如要使用某个平台,必须在JGShareSDK.xml中配置。
* Android only
* @param {Function} callback 返回值 list 是一个数组
*/
```
usage:
```javascript
JShareModule.getPlatformList((list) => {
console.log(list);
});
```
- **share(message, successCallback, failCallback)**
```javascript
/**
* 分享
* @param {object} message = {
*
* platformString 必填,用于分享置不同的平台 //可以是 'wechat_session' /
* 'wechat_timeLine' /
* 'wechat_favourite' /
* 'qq' /
* 'qzone' /
* 'sina_weibo' /
* 'sina_weibo_contact' /
* 'facebook' /
* 'facebook_messenger' /
* 'twitter' /
* 'jchat_pro'
* type 必填
*
* {
* type: 'text'
* platform: platformString // 分享到指定平台
* text: String
* imagePath: // 选填,本地图片地址,新浪微博(iOS 不支持这个字段)
* appName: // 选填,应用名称,趣聊
* targetPkg: // 选填,点击消息时跳转应用的包名,趣聊
* targetClass: // 选填,点击消息时跳转应用的类名,趣聊
* extra: // 选填,点击消息跳转到第三方应用时带的extra信息,趣聊
* url: // 选填,点击消息时跳转应用的url,趣聊
* callBackUrl: // 选填,点击消息跳转第三方应用失败时,回调的url,趣聊
* }
*
* {
* type: 'image'
* platform: platformString // 分享到指定平台
* imagePath: String // 本地图片路径 imagePath, imageUrl imageArray 必须三选一
* text: String // 选填
* imageUrl: String // 网络图片地址,必须以 http 或 https 开头,imagePath, imageUrl imageArray 必须三选一
* imageArray: [String] // (选填: 分享到 Qzone 才提供这个字段) 如果需要分享多张图片需要这个参数,数组中问题图片路径 imagePath, imageUrl imageArray 必须三选一
* appName: // 选填,应用名称,趣聊
* targetPkg: // 选填,点击消息时跳转应用的包名,趣聊
* targetClass: // 选填,点击消息时跳转应用的类名,趣聊
* extra: // 选填,点击消息跳转到第三方应用时带的extra信息,趣聊
* url: // 选填,点击消息时跳转应用的url,趣聊
* callBackUrl: // 选填,点击消息跳转第三方应用失败时,回调的url,趣聊
* }
*
* {
* type: 'image_text'
* platform: platformString // 分享到指定平台,目前只支持趣聊
* appName: String // 选填,应用名称,趣聊
* title: String // 选填,消息标题,趣聊
* text: String // 消息内容,趣聊
* imageUrl: String // 选填,缩略图网络图片地址,趣聊
* targetPkg: String // 选填,点击消息时跳转应用的包名,趣聊
* targetClass: String // 选填,点击消息时跳转应用的类名,趣聊
* extra: String // 选填,点击消息跳转到第三方应用时带的extra信息,趣聊
* url: String // 选填,点击消息时跳转应用的url,趣聊
* callBackUrl: String // 选填,点击消息跳转第三方应用失败时,回调的url,趣聊
* }
*
* {
* type: 'video'
* platform: platformString // 分享到指定平台
* title: String // 选填
* url: String // 视频跳转页面 url
* text: String // 选填
* imagePath: String // 选填,缩略图,本地图片路径
* videoAssetURL: string // videoAssetURL:系统相册视频文件的 url(videoAssetURL 正确格式: assets-library://asset/asset.MOV?id=872C1D2F-97FD-4B0B-9C21-A619E4F23293&ext=MOV) (iOS only),facebook 只支持使用 videoAssetURL 来发送本地视频(不支持 url)。
* videoUrl: String // QQ 空间本地视频 (iOS 不支持这个字段)
* }
*
* {
* type: 'audio'
* platform: platformString // 分享到指定平台
* musicUrl: String //必填 点击直接播放的 urlurl
* url: String //选填,点击跳转的 url
* imagePath: String //选填,缩略图,本地图片路径,imagePath,imageUrl 必须二选一
* imageUrl: String // 选填,网络图片路径,imagePath, imageUrl 必须二选一
* title: String // 选填
* text: String // 选填
* }
*
* {
* type: 'file'
* platform: platformString // 分享到指定平台
* path: String // 必填,文件路径
* fileExt: String // 必填,文件类型后缀
* tile: String
* }
*
* {
* type: 'emoticon'
* platform: platformString // 分享到指定平台
* imagePath: String // 必填,本地图片路径
* }
*
* {
* type: 'app' // wechat_favourite 不支持
* platform: platformString // 分享到指定平台
* url: String // 点击跳转 url
* extInfo: String // 选填 第三方应用自定义数据
* path: String // 选填 对应 app 数据文件
* title: String // 选填
* text: String // 选填
* }
*
* {
* type: 'link'
* platform: platformString // 分享到指定平台
* url: String // 必填,网页 url
* imagePath: String // 选填,本地图片路径 imagePath,imageUrl 必须二选一
* imageUrl: String // 选填,网络图片地址 imagePath imageUrl 必须二选一,不支持Android wechat
* title: String // 选填
* text: String // 选填
* }
*
* {
* type: 'undefined'
* platform: platformString // 分享到指定平台
* }
*
* @param {Function} success = function (state) {} ##
* state = {state: String} state = 'success' / 'fail' / 'cancel' / 'unknow'
*
* @param {Function} fail = function (error) {} ##
* error = {code: number, descript: String}
*/
```
usage:
```javascript
var message = {
platform: "wechat_session",
type: "image",
text: "JShare test text",
imagePath: "/storage/emulated/0/DCIM/Camera/xx.jpg"
};
JShareModule.share(message, (map) => {
console.log("share succeed, map: " + map);
}, (map) => {
console.log("share failed, map: " + map);
})
```
- **getSocialUserInfo(param, successCallback, failCallback)**
```javascript
/**
* 获取社交平台用户信息
* @param {Object} param = {
* platform: String //可以是 'wechat_session' /
* 'wechat_timeLine' /
* 'wechat_favourite' /
* 'qq' /
* 'qzone' /
* 'sina_weibo' /
* 'sina_weibo_contact' /
* 'facebook' /
* 'twitter' /
* 'jchat_pro'
* }
* @param {Function} success function (userInfo) {}
* userInfo = {
* name: String
* iconUrl: String // 社交平台头像链接
* gender: String // 'female' / 'male'
* response: String // 社交平台上的原始数据, 返回 JSON 字符串
* }
*
* @param {Function} fail = function (error) {} ##
* error = {code: number, descript: String}
*/
```
usage:
```javascript
var param = {
platform: "wechat_session"
};
JShareModule.getSocialUserInfo(param, (map) => {
console.log(map);
}, (errorCode) => {
console.log("errorCode: " + errorCode);
});
```
- **isPlatformAuth(param, callback)**
```javascript
/**
* 判断某平台是否已经授权
*
* @param {Object} param = {
* platform: String //可以是 'wechat_session' /
* 'wechat_timeLine' /
* 'wechat_favourite' /
* 'qq' /
* 'qzone' /
* 'sina_weibo' /
* 'sina_weibo_contact' /
* 'facebook' /
* 'facebook_messenger' /
* 'twitter' /
* 'jchat_pro'
* }
* @param {Function} callback = (Boolean) => {}
*/
```
usage:
```javascript
var param = {
platform: "wechat_session"
};
JShareModule.isPlatformAuth(param, (result) => {
console.log(param.platform + "is Auth: " + result);
});
```
- **isClientValid(param, callback)**
```javascript
/**
* 判断该平台的分享是否有效
* Android only
* @param {Object} param = {
* platform: String //可以是 'wechat_session' /
* 'wechat_timeLine' /
* 'wechat_favourite' /
* 'qq' /
* 'qzone' /
* 'sina_weibo' /
* 'sina_weibo_contact' /
* 'facebook' /
* 'facebook_messenger'/
* 'twitter' /
* 'jchat_pro'
* }
* @param {Function} callback = (Boolean) => {}
*/
```
usage:
```javascript
var param = {
platform: "wechat_session"
};
JShareModule.isClientValid(param, (result) => {
console.log(param.platform + "is valid: " + result);
});
```
- **authorize(param, successCallback, failCallback)**
```javascript
/**
* 授权接口
* @param {Object} param = {
* platform: String //可以是 'wechat' /
* 'qq' /
* 'weibo' /
* 'facebook'/
* 'twitter' /
* 'jchat_pro'
* }
* @param {Function} success
* @param {Function} fail
*/
```
usage:
```javascript
var param = {
platform: "wechat_session"
};
JShareModule.authorize(param, (map) => {
console.log("Authorize succeed " + map);
}, (errorCode) => {
console.log("Authorize failed, errorCode : " + errorCode);
});
```
- **isSupportAuthorize(param, callback) Android Only**
```javascript
/**
* 判断平台是否支持授权接口, NOTE:Android Only
* @param {Object} param = {
* platform: String //可以是 'wechat_session' /
* 'wechat_timeLine' /
* 'wechat_favourite' /
* 'qq' /
* 'qzone' /
* 'sina_weibo' /
* 'sina_weibo_contact' /
* 'facebook' /
* 'facebook_messenger'/
* 'twitter' /
* 'jchat_pro'
* }
* @param {Function} callback = (Boolean) => {}
*/
```
usage:
```javascript
var param = {
platform: "wechat_session"
};
JShareModule.isSupportAuthorize(param, (result) => {
console.log("param is Authorize: " + result);
});
```
- **cancelAuthWithPlatform(param, callback)**
```javascript
/**
* 删除用户授权本地数据
*
* @param {Object} param = {
* platform: String //可以是 'wechat_session' /
* 'wechat_timeLine' /
* 'wechat_favourite' /
* 'qq' /
* 'qzone' /
* 'sina_weibo' /
* 'sina_weibo_contact'/
* 'twitter'/
* 'jchat_pro'/
* }
* @param {Function} callback = (Int) => {}
* @code 返回码,0 表示成功删除
*/
```
usage:
```javascript
var param = {
platform: "wechat_session"
};
JShareModule.cancelAuthWithPlatform(param, (code) => {
if (code === 0) {
console.log("remove authorize succeed");
} else {
console.log("remove authorize failed, errorCode: " + code);
}
});
```
- **isSinaWeiboWebLogined(callback)**
```javascript
/**
* 检查不存在新浪客户端情况下的网页端是否登陆
*
* iOS Only
* @param {Function} success = (Boolean) => {}
*/
```
usage:
```javascript
JShareModule.isSinaWeiboWebLogined((isLogin) => {
if (isLogin === true) {
console.log("sina weibo is login");
} else {
console.log("sina weibo is not login");
}
});
```
- **sinaWeiboWebLogOut(callback)**
```javascript
/**
* 登出新浪网页端最新帐号
*
* iOS Only
* @param {Function} success = (Boolean) => {}
*/
```
usage:
```javascript
JShareModule.sinaWeiboWebLogOut((success) => {
if (success === true) {
console.log("sina weibo logout success");
} else {
console.log("sina weibo logout fail");
}
});
```
- **isWeChatInstalled(callback)**
```javascript
/**
* 检查是否安装微信客户端
*
* @param {Function} success = (Boolean) => {}
*/
```
usage:
```javascript
JShareModule.isWeChatInstalled((isInstalled) => {
if (isInstalled === true) {
console.log("wechat is intalled");
} else {
console.log("wechat is not installed");
}
});
```
- **isQQInstalled(callback)**
```javascript
/**
* 检查是否存在QQ客户端
*
* @param {Function} success = (Boolean) => {}
*/
```
usage:
```javascript
JShareModule.isQQInstalled((isInstalled) => {
if (isInstalled === true) {
console.log("QQ is intalled");
} else {
console.log("QQ is not installed");
}
});
```
- **isSinaWeiBoInstalled(callback)**
```javascript
/**
* 检查是否存在新浪微博客户端
*
* @param {Function} success = (Boolean) => {}
*/
```
usage:
```javascript
JShareModule.isSinaWeiBoInstalled((isInstalled) => {
if (isInstalled === true) {
console.log("sina weibo is intalled");
} else {
console.log("sina weibo is not installed");
}
});
```
- **isFacebookInstalled(callback)**
```javascript
/**
* 检查是否存在 facebook 户端
*
* @param {Function} success = (Boolean) => {}
*/
```
usage:
```javascript
JShareModule.isFacebookInstalled((isInstalled) => {
if (isInstalled === true) {
console.log("sina weibo is intalled");
} else {
console.log("sina weibo is not installed");
}
});
```
- **setDebug(param, callback),Android 建议在 MainApplication 中调用,[参考 demo](./../example/android/app/src/main/java/cn/jiguang/share/demo/MainApplication.java)**
```javascript
/**
*
* @param {Object} param = {
* enable: Boolean
* }
*/
```
usage:
```javascript
JShareModule.setDebug({enable: true});
```