本文档旨在说明BaseSDK版本分享功能说明。
本文的所述接口需要在接入BaseSDK,并且初始化以后才可以使用。
本文档适用于SDK 接入人员阅读
SDK分享功能封装了各平台分享接口,以方便开发者接入. 必选参数不能null或者空字符串. 图片需要的地址皆为设备本地存储全路径。
分享信息到第三方平台。
MIDShareParams 渠道类型说明
参数 | 类型 | 说明 | 参数值 |
---|---|---|---|
Share_Type_Unkown | int | 未知渠道,主要用于分享失败情况。由于参数或者没有打分享渠道包的时候产生 | |
Share_Type_QQ | int | QQ分享 | 1 |
Share_Type_Qzone | int | QQ空间分享 | 2 |
Share_Type_WeChat | int | 微信好友分享 | 3 |
Share_Type_WeChatLine | int | 微信朋友圈分享 | 4 |
Share_Type_SinaWeiBo | int | 新浪微博分享 | 5 |
Share_Type_Facebook | int | Facebook分享 | 6 |
Share_Type_Twitter | int | Twitter分享 | 7 |
Share_Type_System | int | 系统分享 | 8 |
参数 | 类型 | 说明 |
---|---|---|
shareFlag | String | 分享类型 (1) Share_Flag_Text 文本分享 (2) Share_Flag_TextImage 图片分享 (3)Share_Flag_Link 连接分享 |
shareText | String | 想要分享的文字内容 |
shareImagepath | String | 需要分享出去的图片地址 |
shareThumbImage | String | 需要分享出去的缩略图图片地址 |
shareUrl | String | 需要分享出去的链接 |
shareTitle | String | 需要分享出去的连接标题 |
使用分享墙,SDK制定了UI,提供用户选择分享渠道。
/**
* 分享接口
*
* @param logValue 分享数据接口
* @param callback 分享接口回调
*/
public void MIDBaseSDKSendShare(MIDShareParams logValue,
MIDShareCallback callback);
研发自定义UI, 直接设置分享渠道。
type值请从参数 3.2 MIDShareParams 参数说明
/**
* 分享接口
*
* @param type 分享渠道 MIDShareParams内的type值。 参数## 3.2 MIDShareParams 参数说明
* @param logValue 分享数据接口
* @param callback 分享接口回调
*/
public void MIDBaseSDKSendShare(int type,MIDShareParams logValue,
MIDShareCallback callback);
参数 | 类型 | 说明 | 是否必传 |
---|---|---|---|
shareFlag | String | MIDShareParams.Share_Flag_Text | 必传 |
shareText | String | 想要分享的文字内容 | 必传 |
MIDShareParams sharedata = new MIDShareParams();
sharedata.setShareFlag(MIDShareParams.Share_Flag_Text);
sharedata.setShareText("游戏分享测试");
MIDBaseSDK.getInstance(mMainActivity).MIDBaseSDKSendShare(sharedata,
new MIDShareCallback() {
@Override
public void MIDBaseShareSuccess(int type) {
// TODO Auto-generated method stub
// 分享成功
}
@Override
public void MIDBaseShareFail(int type, int code) {
// TODO Auto-generated method stub
// 分享失败
}
});
参数 | 类型 | 说明 | 是否必传 |
---|---|---|---|
shareFlag | String | MIDShareParams.Share_Flag_TextImage | 必传 |
setShareImagepath | String | 本地图片地址 | 必传 |
MIDShareParams sharedata = new MIDShareParams();
sharedata.setShareFlag(MIDShareParams.Share_Flag_TextImage);
sharedata.setShareTitle("游戏");
sharedata.setShareText("游戏官网链接");
sharedata.setShareImagepath(本地图片地址);
MIDBaseSDK.getInstance(mMainActivity).MIDBaseSDKSendShare(sharedata,
new MIDShareCallback() {
@Override
public void MIDBaseShareSuccess(int type) {
// TODO Auto-generated method stub
// 分享成功
}
@Override
public void MIDBaseShareFail(int type, int code) {
// TODO Auto-generated method stub
// 分享失败
}
});
参数 | 类型 | 说明 | 是否必传 |
---|---|---|---|
shareFlag | String | MIDShareParams.Share_Flag_Link | 必传 |
setShareUrl | String | 需要分享出去的url | 必传 |
setShareTitle | String | 分享标题,如果没有传将会使用游戏名称 | 可选 |
setShareText | String | 页面描述 | 可选 |
setShareImagepath | String | 本地图片地址 | 可选 |
setShareThumbImage | String | 本地图片地址 | 可选 |
MIDShareParams sharedata = new MIDShareParams();
sharedata.setShareFlag(MIDShareParams.Share_Flag_Link);
sharedata.setShareUrl(需要分享的连链接);
sharedata.setShareTitle("游戏");
sharedata.setShareText("游戏官网");
sharedata.setShareImagepath(本地图片地址);
sharedata.setShareThumbImage(chachePath);
MIDBaseSDK.getInstance(mMainActivity).MIDBaseSDKSendShare(sharedata,
new MIDShareCallback() {
@Override
public void MIDBaseShareSuccess(int type) {
// TODO Auto-generated method stub
// 分享成功
}
@Override
public void MIDBaseShareFail(int type, int code) {
// TODO Auto-generated method stub
// 分享失败
}
});
SDK3.1.7版本启用。
功能说明,使用前需要先创建邀请模版,可以和运营沟通创建。模版ID需要提前创建完成。
邀请奖励事件和运营需要沟通好。
deeplink 在创建好模版后,根据模版ID拿到链接,才可以配置。
/**
* 分享一段文字,后面平台会追加邀请链接
*
* @param templateID 模版ID
* @param inviteMsg 分享内容
* @param callback 回调
*/
public void MIDBaseSDKShareInvite(String templateID, String inviteMsg,
final MIDShareCallback callback) ;
在AndroidManifest.xml 启动activity内。
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="根据模版信息配置,实际使用时确定。"
android:scheme="https" />
</intent-filter>
MIDBaseSDK.getInstance(MIDBase_Demo_MainActivity.mMainActivity).MIDBaseSDKShareInvite("游戏模版ID",
"欢迎来体验游戏!邀请链接为:", new MIDShareCallback() {
@Override
public void MIDBaseShareSuccess(int type) {
Logs.i(LOGTAG, " middemo_share MIDBaseShareSuccess ");
MIDToast.makeText(MIDBaseDataCollector.getInstance().getmActivity(),
"分享成功", Toast.LENGTH_LONG);
}
@Override
public void MIDBaseShareFail(int type, int code) {
Logs.i(LOGTAG, " middemo_share MIDBaseShareFail code:" + code);
MIDToast.makeText(MIDBaseDataCollector.getInstance().getmActivity(),
" 分享失败", Toast.LENGTH_LONG);
}
});
/**
* 分享成功
* @param type 本次使用的分享渠道type
*/
public void MIDBaseShareSuccess();
/**
* 分享失败
* @param type 本次使用的分享渠道type
*/
public void MIDBaseShareFail (int type, int code);
综合3个渠道信息对比取最小值,分享链接的时候,描述信息不可以超过40个字符,title 标题不能超过 30个字符。
分享图片不能超过2M。
新浪微博支持分享:文字、本地图片、网络图片
参数说明: text:140字符以内、微博客户端分享图片不能大于2M,仅支持JPEG、GIF、PNG格式 ;注:微博分享链接是链接和内容拼接在一起的。
分享的文本内容http://ceshi.com;
如果imagePath和imageUrl同时存在,imageUrl将被忽略。
QQ空间支持分享链接 参数说明 title:最多200个字符 text:最多600个字符
参数说明: title:512Bytes以内、text:1KB以内 、imageData:10M以内、 imagePath:10M以内(传递的imagePath路径不能超过10KB)、 imageUrl:10KB以内 musicUrl:10KB以内、 url:10KB以内
QQ分享支持图片和链接
参数说明: title:最多30个字符、 text:最多40个字符
Facebook支持分享图片、链接,不支持分享文本,分享图片的时候不支持带文本内容
参数说明:图片小于4M
Twitter支持分享图片、文本,没办法知道分享结果,跳转过去回来就算成功
参数说明:图片小于4M,文本内容小于140字符。