# 分享接口
# 1、链接分享
WARNING
参数platform:指定平台分享,可选参数。
目前可以指定wechat, wechat_circle, qq, qzone之一,没有对应平台则不需要指定。
import com.dh.DHSDKHelper;
import com.dh.callback.IDHSDKCallback;
import java.util.HashMap;
HashMap<String, String> data = new HashMap<>();
data.put("imageURL", "http://www.test.cn/static/images/logo.jpg"); // 将在链接中显示的缩略图链接,只能使用网络图片地址
data.put("contentURL", "http://www.test.cn"); // 分享链接
// data.put("platform","QZONE"); // 指定平台分享,可选参数
data.put("contentTitle", "Electronic Soul"); // 内容标题
data.put("contentDescription", "Elcetronic Soul Official Website"); // 内容描述
/**
* @param activity 上下文
* @param data 分享对象
* @param sdkCallback 回调对象
*/
DHSDKHelper.getInstance().getShare().shareLinks(activity, data, new IDHSDKCallback() {
@Override
public void onDHSDKResult(int requestCode, int resultCode, String resultData) {
switch (requestCode) {
case DHSDKConst.REQ_SHARE:
// 分享结果
// resultData:返回数据是文字提示
if (resultCode == DHSDKConst.RET_OK) {
// 分享成功
} else if (resultCode == DHSDKConst.RET_FAIL) {
// 分享失败
}
break;
default:
// 其他结果
break;
}
}
});
# 2、图片分享
import com.dh.DHSDKHelper;
import com.dh.callback.IDHSDKCallback;
import java.util.HashMap;
HashMap<String, Object> data = new HashMap<>();
String photoPath = "/test.jpg"; // 本地图片地址
// 方式一:Facebook、Instagram、Line、Messenger、Ushare
Uri uri = Uri.fromFile(new File(photoPath));
data.put("imageURI", uri.toString());
// 方式二:Facebook、Messenger、Ushare
// Bitmap bitmap = BitmapFactory.decodeFile(photoPath);
// data.put("bitmap", bitmap);
// data.put("hashtag", ""); // ShareHashtag,Facebook、Messenger可选参数
// data.put("platform","QZONE"); // 指定平台分享,可选参数
data.put("contentTitle", "快乐游戏"); // 内容标题
data.put("contentDescription", "你想来一场激烈的战斗么");
/**
* @param activity 上下文
* @param data 分享对象
* @param sdkCallback 回调对象
*/
DHSDKHelper.getInstance().getShare().sharePhoto(activity, data, new IDHSDKCallback() {
@Override
public void onDHSDKResult(int requestCode, int resultCode, String resultData) {
switch (requestCode) {
case DHSDKConst.REQ_SHARE:
// 分享结果
// resultData:返回数据是文字提示
if (resultCode == DHSDKConst.RET_OK) {
// 分享成功
} else if (resultCode == DHSDKConst.RET_FAIL) {
// 分享失败
}
break;
default:
// 其他结果
break;
}
}
});
# 3、获取 AppsFlyer 邀请链接
调用代码示例:
import com.dh.DHSDKHelper;
import com.dh.callback.IDHSDKCallback;
import com.dh.framework.utils.DHPluginParam;
String params = "{}";
try {
params = new JSONObject()
.put("pluginName", "chuxin") // 固定
.put("pluginType", "platform") // 固定
.put("methodName", "getInviteLink") // 固定
.put("methodParam", new JSONObject()
.put("inviteEventValue", "研发透传字段") // 研发透传字段,根据邀请需求合理传值,如果不做处理传空字符串
.toString())
.toString();
} catch (Throwable e) {
e.printStackTrace();
}
/**
* @param activity 上下文
* @param param 接口参数
* @param sdkCallback 回调对象
*/
DHSDKHelper.getInstance().exec(activity, params, gameUnifiedCallback);
DANGER
游戏进服后方可调用该接口,用于在邀请好友时分享该链接
回调对象示例如下:
import com.dh.DHSDKConst;
import com.dh.callback.IDHSDKCallback;
public class GameUnifiedCallback implements IDHSDKCallback {
@Override
public void onDHSDKResult(int requestCode, int resultCode, String resultData) {
switch (requestCode) {
case 136:
// 获取邀请链接回调
if (resultCode == DHSDKConst.RET_OK) {
//resultData即为邀请链接,游戏可以缓存用来分享
}else{
//获取失败
}
break;
default:
// 其他结果
break;
}
}
}
# 4、查询 AppsFlyer 邀请奖励
调用代码示例:
import com.dh.DHSDKHelper;
import com.dh.callback.IDHSDKCallback;
import com.dh.framework.utils.DHPluginParam;
String params = "{}";
try {
params = new JSONObject()
.put("pluginName", "chuxin") // 固定
.put("pluginType", "platform") // 固定
.put("methodName", "queryInviteResult") // 固定
.toString();
} catch (Throwable e) {
e.printStackTrace();
}
/**
* @param activity 上下文
* @param param 接口参数
* @param sdkCallback 回调对象
*/
DHSDKHelper.getInstance().exec(activity, params, gameUnifiedCallback);
DANGER
游戏进服后方可调用,可以每次都调用查询。邀请奖励实际以服务端推送为准,不能以客户端回调为准。
回调对象示例如下:
import com.dh.DHSDKConst;
import com.dh.callback.IDHSDKCallback;
public class GameUnifiedCallback implements IDHSDKCallback {
@Override
public void onDHSDKResult(int requestCode, int resultCode, String resultData) {
switch (requestCode) {
case 137:
// 查询邀请奖励回调
if (resultCode == DHSDKConst.RET_OK) {
//邀请成功
}else{
//邀请失败
}
break;
default:
// 其他结果
break;
}
}
}