# 分享接口

# 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;
        }
    }
}
Last Updated: 2026/3/27 15:37:42