QQ游戏开放平台

欢迎来到QQ游戏开放平台 登录| 管理中心 | 开发者论坛

QQ游戏大厅与集合游戏交互接口说明

目录

大厅与游戏互调接口:

双方的数据交互都是通过JSON格式进行传递。

  发起请求示例:

  {

      "protocolName" : "LoginTicketRequest"

      "protocolParam" : "{\"callerPkgName\":\"游戏包名\",\"appId\":\"游戏appid\",\"gameType\":\"COCOS\",\"loginType\":0,\"ticketType\":\"OPEN_ID\"}"

      "protocolVersion" : "1.6"

  }


  请求结果示例:

  {

      "protocolName" : "LoginTicketResponse"

      "protocolParam" : "{LoginTicketResponse定义中各字段的值}"

      "protocolVersion" : "1.x"  // 协议版本

  }


注意:

1,byte[] 以Base64编码后的String传递

2,因为SDK所有接口都是异步或有网络请求的,所以游戏请求之前都需要有一个loading动画提示。请求信息回来后,再去掉loading动画。

3,大厅中仅支持 LoginTicketRequest、ShareRequest、PayRequest、ReportRequest、OpenUrlRequest、PhoneStateRequest、LauncherRequest


协议参数:

获取票据协议v1.0

仅供接入Tsdk的应用使用,另附说明; 获取开平票据使用 2.5 中的协议。

Midas支付协议 v1.0

public class PayRequest {

     public String appId;

     public String callerPkgName;

     public String gameType;

     public int loginType;


     //  模式1: 游戏后台下单获取"url_params"

     public String offerId;

     public String openId;

     public String openKey;

     public String payUrl;


     //  模式2: 委托大厅后台下单

     public int payValue;

     public boolean isCanChange;

     public int payType;

     public String payItem;

     public String payInfo;

     public String reqTime;

     public String customMeta;

}

  参数:

参数名
参数类型
参数说明
appId
String
游戏在开发平台申请的id
callerPkgName
String
接口调用方包名
gameType
String
游戏类型:  "UNITY",  "COCOS"
loginType
int
游戏当前账户类型 , 1:QQ, 2:微信
payValue
int
用户充值数量,即游戏币的个数.(必须是整数)
isCanChange
boolean
充值数额是否可改。true:可改; false:不可改。
payType
int
支付类型, 0 : 米大师 , 1:商品
payItem
String
购买明细,应用可以自己控制批价格式的定义,比如可为xxx*1;yyy*2,表示xxx一件和yyy两件。长度小于512字符。
payInfo
String
购买描述,应用可以自己控制批价格式的定义,比如可为name*desc。长度小于255字符,utf8编码
reqTime
String
请求发生的时间
customMeta
String
透传参数
offerId
String

应用在米大师申请的id,

由后台和"url_params" 一起返回给客户端

payUrl
String

应用通过米大师接口下单后获取到的 "url_params"

(这个值由游戏后台拉取给到游戏客户端)

测试阶段可以这里拿到测试值:

//minigame.qq.com/plat/mobile_hall/app_frame/?appid=100703379&channel=10021755

openId
String
大厅后台给应用转换好的openId
openKey
String
大厅后台给应用转换好的openKey


下单模式选择:

1.  默认使用模式1,由游戏方自己下单!

2.  使用模式1,忽略模式2所有参数,无需填写。


接入流程:

1.  大厅侧为游戏方开通管理端访问及配置权限。

2.  游戏方根据网站指引,联调下单,和发货回调。

3.  先调通沙箱支付,大厅侧申请发现网,再测试现网支付。


下单常见问题:

1.  沙箱环境/现网环境对应不同的appkey

2.  下单参数的值请仔细对照“支付参数含义详解”,特别是Cookie 和 openkey

3.  下单时使用"app_metadata"为key传参,会透传给发货回key变为"appmeta",这里可以透传登录返回的channel


支付参数含义详解:

//wiki.midas.qq.com/post/index/1/27/47


直购后台下单接口说明:

//wiki.open.qq.com/wiki/%E7%B1%B3%E5%A4%A7%E5%B8%88%E4%BB%8B%E7%BB%8D%E2%80%94%E2%80%94%E9%81%93%E5%85%B7%E7%9B%B4%E8%B4%AD%E6%A8%A1%E5%BC%8F%E4%BB%8B%E7%BB%8D

 

实际下单接口 !!!!!!

      【现网】//msdk.qq.com/mpay/buy_goods_m

      【沙箱】//msdktest.qq.com/mpay/buy_goods_m



Sig校验, 计算sig需要appkey

//wiki.open.qq.com/wiki/YSDK%E6%94%AF%E4%BB%98%E6%8E%A5%E5%8F%A3%E7%AD%BE%E5%90%8D%E8%AF%B4%E6%98%8E#1..E7.AD.BE.E5.90.8D.E7.94.9F.E6.88.90.E6.80.BB.E4.BD.93.E8.AF.B4.E6.98.8E


//wiki.midas.qq.com/post/index/1/32/53


回调发货协议说明

//wiki.open.qq.com/wiki/mobile/%E8%B4%AD%E4%B9%B0%E9%81%93%E5%85%B7%E6%89%A3%E6%AC%BE%E6%88%90%E5%8A%9F%E5%9B%9E%E8%B0%83%E5%BA%94%E7%94%A8%E5%8F%91%E8%B4%A7


支付回调错误码:

//wiki.midas.qq.com/post/index/1/33/21

//wiki.open.qq.com/wiki/%E6%94%AF%E4%BB%98%E9%94%99%E8%AF%AF%E7%A0%81%E8%AF%B4%E6%98%8E


public class PayResponse implements IProtocol {

   public int resultCode;

   public String resultMsg;

   public int payChannel;

   public int payState;

   public int providerState;

   public int saveNum;

   public String extendInfo;

   public int realSaveNum;

   public String orderno;

}

参数:

参数名
参数类型
参数说明
resultCode
int

//说明游戏初始化绑定service不成功

PAYRESULT_SERVICE_BIND_FAIL   = -2;

(此时需要在回调中重新绑定,否则有可能无法拉起支付页面)

//支付流程失败

PAYRESULT_ERROR        = -1;

//支付流程成功

PAYRESULT_SUCC         = 0;

//用户取消

PAYRESULT_CANCEL       = 2;

//参数错误

PAYRESULT_PARAMERROR   = 3;


payChannel
int

//支付渠道,只有支付成功时才返回相应的支付渠道

PAYCHANEL_UNKOWN       = -1;

//Q点渠道

PAYCHANEL_ACCT_QDQB    = 0;

//财付通

PAYCHANEL_TENPAY_CFT   = 1;

//银行卡快捷支付

PAYCHANEL_TENPAY_BANK  = 2;

PAYCHANEL_TENPAY_KJ    = 3;

//Q卡渠道

PAYCHANEL_QQCARD       = 4;

//手机充值卡渠道

PAYCHANEL_MCARD        = 5;

//元宝渠道

PAYCHANEL_YB           = 7;

//微信支付渠道

PAYCHANEL_WECHAT       = 8;

//话费渠道

PAYCHANEL_HF         = 9;

//金券渠道

PAYCHANEL_GOLDCOUPONS = 10;

//Q币渠道

PAYCHANEL_ACCT_QBQD    = 11;


payState
int

支付状态

PAYSTATE_PAYUNKOWN     = -1;

//支付成功

PAYSTATE_PAYSUCC       = 0;

//用户取消

PAYSTATE_PAYCANCEL     = 1;

//支付出错

PAYSTATE_PAYERROR      = 2;


provideState
int

发货状态

//无法知道是否发货成功,如:财付通、手机充值卡渠道

PAYPROVIDESTATE_UNKOWN = -1;

//发货成功

PAYPROVIDESTATE_SUCC   = 0;

realSaveNum
int
购买成功时购买的数量
resultMsg
String
返回信息
extendInfo
String

业务类型;0:游戏币;1:道具;4:包月;5:订阅



分享协议

public class ShareRequest {

public String callerPkgName;

public String gameType;


   public String title;

   public String summary;


   // 链接分享

   public String iconUrl;

   public String targetUrl;


   // 本地大图分享

   public String localPicUrl;

   public String localPicTip;


    public String editTextTip;

    public int sharePlatform;

    public int shareContent;

}

参数:

参数名
参数类型
参数说明
callerPkgName
String
接口调用方包名
gameType
String
游戏类型:  "UNITY",  "COCOS"
title
String
分享的标题, 最长30个字符。
summary
String
分享的消息摘要,最长40个字。
iconUrl
String
分享的缩略小图,值只能为 "网络图片url" 或者 "gameIcon"
targetUrl
String
分享内容中携带的链接。
localPicUrl
String
分享本地图片,图片地址。如:"/storage/sdcard0/pkg/img/a.png"
localPicTip
String
分享本地图片说明
editTextTip
String
编辑框中默认填写的内容
sharePlatform
int
分享到哪里,ALL = 0; QQ = 1; QQ_ZONE = 2; WX = 3; WX_CIRCLE = 4;
shareContent
int
分享url还是本地图片, WEB_PAGE = 0; LOCAL_PIC = 1;

public class ShareResponse {

   public int resultCode;

   public String resultMsg;

}


参数:

参数名
参数类型
参数说明
resultCode
int
错误码: 0:正确;  其他:不正确。
resultMsg
Stirng

分享提示内容:如:分享取消。分享完成。分享失败等等。


NO_INSTALL_QQ = -100;

NO_INSTALL_WX = -101;



事件上报协议(预留协议,非数据统计上报)

public class ReportRequest {

   public String callerPkgName;

    public int eventId;

   public int resultCode;

    public String resultMsg;

}

参数:

参数名
参数类型
参数说明
callerPkgName
String
接口调用方包名
eventId
int
事件id
resultCode
int
事件结果代码, 成功结果为 0
resultMsg
String

事件描述




eventId {

  int GAME_START_SUCCESS = 1;  //游戏成功启动

  int LOGOUT_GAME = -1;            //注销帐号

  int EXIT_GAME = -2;                 //退出游戏 ,  建议在 物理返回键 触发的退出游戏场景才report。

  int OPEN_LAUNCHER = -3;        //打开Launcher界面

}



获取票据协议 (休闲游戏)

协议名及参数

public class LoginTicketRequest {

     public String appId;

     public String callerPkgName;

     public String gameType;

     public String ticketType;

     public int loginType;  

     public int forceLoginRequest;  

}


参数:

参数名
参数类型
参数说明
appId
String
游戏在开放平台申请的id (这里只填qq 的 appid即可)
callerPkgName
String
接口调用方包名
gameType
String
游戏类型:  "UNITY",  "COCOS"
ticketType
String

需要的票据类型: "OPEN_ID"

forceLoginRequest
int

0:获取已有票据

1:要求大厅重新登录, 发现获取到的票据异常时,可设置此标志重新获取票据, 要注意只能调用一次。

loginType
int

0 : 获取大厅当前账户

1:获取QQ账户

2:获取微信账户

若游戏不关心登录方式,拉取数据和重试时候,请求参数loginType=0

若游戏仅仅支持单一登录方式,拉取数据和重试时候,请求参数loginType为对应类型


public class LoginTicketResponse {

     public int resultCode;

     public String resultMsg;

     public int loginType;

     public String loginResult;


     public String nick;

     public String headUrl;

     public String gender;


     public String unionId;


     public String openId;

     public String openKey;

     public String payToken;


     public String pf;

     public String pfKey;


     public String channel;


 // 用于通过链接拉起游戏透传启动参数

     public int launchType;

     public String launchParam;


     public String entrance;

     public String hallVersion;

}


参数:

参数名
参数类型
参数说明
resultCode
int
登录结果,  0:成功, 其他:不正确。
resultMsg
String
登录结果说明
loginType
int
1:QQ票据,2:微信票据,这里返回大厅当前的登录类型
unionId
String
用来区分用户的唯一性, QQ登录时 值与openId相同,WX登录时 通过后台接口获取。
openId
String
用户登录态
openKey
String
用户登录态,对应QQ的openkey、微信的access_token
payToken
String
用于后台支付接口下单,QQ账号下使用
pf
String
平台标识信息:平台-注册渠道-版本-安装渠道-业务自定义(自定义),最大150字节pfKeyString由平台来源和openkey根据规则生成的一个密钥串,跳转到应用首页后,URL后会带该参数
loginResult
String

Json串,透传后台返回的票据字段

现阶段为:

openid  游戏的openid

openkey 游戏的openkey

pf      游戏支付用到

pfkey   游戏支付用到

(老版本协议用到, 请忽略这个值)

channel
String

支付渠道标识,支付时透传给后台,后台根据channel从配置文件获取

支付要用到的 offerid和appkeylaunchTypeint透传 管理端配置的 启动游戏时 要触发的活动类型

launchParam
String
透传 管理端配置的 启动游戏时 要触发的活动需要的参数 JSON串
entrance
String

分玩法入口标识,"0" = 单发入口,  "其他" = 分玩法入口。

"其他" 的值由游戏方直接定义值

hallVersion
String
大厅包名_大厅版本号_大厅渠道号_大厅内游戏GameID



加载第三方库协议名及参数

public class LoadSoRequest {

     public String callerPkgName;  // 必须与大厅提供的包名 和 zip名字中的包名 一致。

     public String gameType;

     public String soName;    //动态库全名称,例如libBugly.so

}


public class LoadSoResponse {

     public int resultCode;   //登录结果,  0:成功, 其他:不正确。

     public String resultMsg;    //加载结果说明    

     public String soName;   //动态库全名称,例如libBugly.so

}



加载手机状态协议名及参数

public class PhoneStateRequest {

     public String callerPkgName;

     public String gameType;  //游戏类型:  "UNITY",  "COCOS"

}


public class PhoneStateResponse {

     public int resultCode;

     public String resultMsg;      

     public String chargingState;

     public String batteryPct;

     public String apnType;

}


参数:

参数名
参数类型
参数说明
resultCode
int
登录结果,  0:成功, 其他:不正确。
resultMsg
String
加载结果说明
chargingState
int

充电状态:

UNKNOWN = 0;

NO_CHARGING = 1;

CHARGING = 2;

AC_CHARGING = 3;

USB_CHARGING = 4;

batteryPct
int
剩余电量百分比,值范围:0-100
apnType
int

网络状态:

UNAVAILABLE = -1;

UNKNOWN = 0;

APN_2G = 1;

APN_3G = 2;

APN_WIFI = 3;

APN_4G = 4;



打开页面 (反馈、游戏圈、unity内嵌页面)

public class OpenUrlRequest {

     public String callerPkgName;

     public String gameType;


     public String url;


     // 选填

     public String cookie;

     public String cookieDomain;


     // 以下选填,unity中显示内嵌webView时使用

     public int webViewX;

     public int webViewY;

     public int webViewWidth;

     public int webViewHeight;

     public String bgColorStr;

}


参数:

参数名
参数类型
参数说明
callerPkgName
String
接口调用方包名
gameType
String
游戏类型:  "UNITY",  "COCOS"
webViewX
int
webview 左上角的 X 坐标,建议以屏幕宽度为比例计算
webViewY
int
webview 左上角的 Y 坐标,建议以屏幕高度为比例计算
webViewWidth
int
webview 宽度,需要以屏幕宽度为比例计算
webViewHeight
int webview 高度,需要以屏幕高度为比例计算
bgColorStr
int
选填,webview 背景色,#AARRGGBB 或者 #RRGGBB
url
String
要打开的Url,可控制webview显示隐藏(url为空则webview隐藏,url不为空则拉起或跳转到url)
cookie
String
选填,webview 要设置的cookie,需要符合cookie格式,例如"cc=cc;",多个cookie用;分割,如"cc=cc;aa=aa;"
cookieDomain
String

若cookie需要控制domain,则同样按照cookie对应格式填写即可。不需要配置Domain的填""

控制cookie字段的cookieDomain,如"Domain=.qqgame.com;"

最终生成的cookie为"cc=cc;Domain=.qqgame.com;""aa=aa;Domain=.qqgame.com;"


public class OpenUrlResponse {

     public int resultCode;

     public String resultMsg;      

}



数据上报协议名及参数

public class UploadLogRequest{

public string roleid;

public string zoneid;

public string gameversion;

public int infotype;

public int elemid;

public int gameid;

public int gametype;

public int roomid;

public int roomtype;

public int uploadType;

public String gameType;

public String callerPkgName;

public int deliverPara;

public string value1;

public string value2;

public string value3;

public string value4;

public string value5;

public string value6;

public string value7;

public string value8;

public string value9;

public string value10;

public string buf1;

public string buf2;

public string buf3;

public string buf4;

public string buf5;

public string buf6;

public string buf7;

public string buf8;

public string buf9;

public string buf10;

}

参数:

参数名
参数类型
必须字段
参数说明
roleid
string

角色id(qq的appid)
zoneid
string

大区id
gameversion
string

游戏版本
infotype
int

上报类型
elemid
int

元素id
gameid
int

大厅分配的gameid
gametype
int

玩法id
roomid
int

牌局id
roomtype
int

场次id
uploadType
int
数据上报类型,默认填0上报行为数据,1上报qq接入要求的数据,2其他
value1-value10
string

通用参数
buf1-buf10
string

通用参数
gameType
String

游戏类型:  "UNITY",  "COCOS"
callerPkgName
String

接口调用方包名
deliverPara
int

是否回传上报参数(0:不回传; 1:回传)


public class UploadLogResponse{

     public int resultCode;

     public String resultMsg;      

}


好友关系链协议名及参数

(备注:查询好友关系的接口没有后台接口,游戏使用时候直接拿客户端给返回的openid游戏后台转换为对应的游戏角色即可。不要去其他平台使用查询好友关系的接口)

public class RelationRequest

{

    public string relationType;     //获取的关系链类型(qq:qq好友;wx:微信好友)

    public String callerPkgName; //接口调用方包名

    public String gameType;       //游戏类型:  "UNITY",  "COCOS"


}


public class RelationResponse

{

     public int resultCode;

     public String resultMsg;  

     public int firendNum;

     public String ownerOpenid;

     public int loginType;

     public String temp;

     public ArrayList<Person> persons;

}

参数:

参数名
参数类型
参数说明
resultCode
int
上报结果,  0:成功, 其他:不正确。
resultMsg
String
上报结果说明
firendNum
int
好友数量
ownerOpenid
String
自己的owneropenid
loginType
int
登录类型1:QQ账户2:微信账户
temp
String
临时字段
persons
List<Person>
好友信息

Person对象:

city
String
城市
country
String
国家
province
String
省份
gender
String
性别
gpsCity
String
物理位置
pictureSmall
String
头像小图,通过url.encode编码
lang
String
语言
nickName
String
昵称,通过url.encode编码
openId
String
玩家openid
pictureLarge
String
头像大图,通过url.encode编码
pictureMiddle
String
头像中图,通过url.encode编码
temp
String
通用字段                       

示例:


{

   "protocolName": "RelationResponse",

   "protocolParam": "{\"persons\":[{\"city\":\"\",\"country\":\"\",\"gender\":\"男\",\"gpsCity\":\"\",\"lang\":\"\",\"nickName\":\"vitopan\",\"openId\":\"E35051562DF439BEE57B8376CEBF953A\",\"pictureLarge\":\"http%3A%2F%2Fq.qlogo.cn%2Fqqapp%2F1106095840%2FE35051562DF439BEE57B8376CEBF953A%2F100\",\"pictureMiddle\":\"http%3A%2F%2Fq.qlogo.cn%2Fqqapp%2F1106095840%2FE35051562DF439BEE57B8376CEBF953A%2F40\",\"pictureSmall\":\"http%3A%2F%2Fq.qlogo.cn%2Fqqapp%2F1106095840%2FE35051562DF439BEE57B8376CEBF953A%2F40\",\"province\":\"\"},{\"city\":\"\",\"country\":\"\",\"gender\":\"男\",\"gpsCity\":\"\",\"lang\":\"\",\"nickName\":\"peter\",\"openId\":\"04BC6F63B8814FD1002951E206A8B75A\",\"pictureLarge\":\"http%3A%2F%2Fq.qlogo.cn%2Fqqapp%2F1106095840%2F04BC6F63B8814FD1002951E206A8B75A%2F100\",\"pictureMiddle\":\"http%3A%2F%2Fq.qlogo.cn%2Fqqapp%2F1106095840%2F04BC6F63B8814FD1002951E206A8B75A%2F40\",\"pictureSmall\":\"http%3A%2F%2Fq.qlogo.cn%2Fqqapp%2F1106095840%2F04BC6F63B8814FD1002951E206A8B75A%2F40\",\"province\":\"\"}],\"ownerOpenid\":\"D4BBC209B21000B9F625386EC10E6F11\",\"loginType\":1,\"firendNum\":2,\"resultMsg\":\"获取好友信息成功\",\"resultCode\":0}",

   "protocolVersion": "1.6"

}




QQ会员信息协议名及参数

public class QQVipRequest

{

   public String callerPkgName;//接口调用方包名

   public String gameType;//游戏类型:  "UNITY",  "COCOS"

public ArrayList<String> openids;//希望获取的玩家的openid信息,若只查自己的信息,只填写自己的openid即可

}

返回信息:

public class QQVipResponse

{

     Public int resultCode;//上报结果,  0:成功, 其他:不正确。

     Public String resultMsg; //上报结果说明

     Public ArrayList<QQVipInfo> vipinfos;//qqvip信息

}


public class QQVipInfo

{

     Public int is_qq_vip;//是不是qq会员,0不是1是

     Public int is_qq_year_vip; //是不是年费qq会员,0不是1是

     Public int qq_vip_level; //qq会员等级

     Public String openids; //玩家openid

     Public int is_qq_svip; //是否是qq超级会员,0不是1是

}


WGOpenUrl打开url页面协议名及参数

(此协议主要用在打开腾讯内部第三方web页面)

public class WGOpenUrlRequest

{

  public String callerPkgName;//接口调用方包名

  public String gameType;//游戏类型:  "UNITY",  "COCOS"

  public String url;//将要拉起的页面

  public int type;//0默认为url添加sRoleId、sPartition、sPfkey

  public int screenType;//0横屏1竖屏2重力感应,默认横屏


}

返回信息:

public class WGOpenUrlResponse

{

    Public int resultCode;//打开url结果,  0:成功, 其他:不正确。

    Public String resultMsg; //打开url结果说明

}


唤醒通知协议名及参数

(在应用被第三方应用打开时候,如qq、微信、应用宝等,会通过此接口通知游戏,是哪个第三方应用唤醒了游戏。

该接口属于游戏平台侧主动通知游戏,不需要游戏调用request,但需要游戏处理接收response内容。具体识别方式,对应不同的第三方应用的参数设定。

例如:来自手Q游戏中心的启动,会在extInfo中新增launchfrom字段,该字段值为sq_gamecenter即表示启动来自手Q游戏中心

示例场景:游戏app上架手q游戏中心,在手q游戏中心游戏详情页面可以直接拉起游戏,此时手q游戏中心会通过此接口给游戏传递一些数据,游戏检测到sq_gamecenter标识,即认为此次拉起行为是通过手q游戏中心拉起的,需要后续做一些启动特权的内容)


public class WakeupResponse

{

   Public int resultCode;//打开url结果,  0:成功, 其他:不正确。

   Public String resultMsg; //打开url结果说明

   public int flag = -1;

   public String desc = "";

   public int platform = 0;

  /** 传递的openid */

   public String open_id="";

   /** 对应微信消息中的mediaTagName */

   public String media_tag_name="";

   /** 扩展消息,唤醒游戏时带给游戏 */

   public String messageExt="";

   /** 语言     目前只有微信5.1以上用,手Q不用 */

   public String lang="";

   /** 国家     目前只有微信5.1以上用,手Q不用 */

   public String country="";


   public ArrayList<KVPair> extInfo;


}

public class KVPair {

   public String key = "";

   public String value = "";

}

会员包月协议名及参数

拉起米大师购买会员包月服务(qq会员、qq超级会员等)


public class MonthPayRequest

{

 public String callerPkgName;//接口调用方包名

 public String gameType;//游戏类型:  "UNITY",  "COCOS"

 /**

* 充值数额是否可改。 true:可改; false:不可改。

*/

public boolean isCanChange;

/**

* 充值次数开通月数,单位“个月”,默认为“1”

* 为0/null/“”时,拉起由支付SDK提供默认值的数量列表界面,并且强制修改

*/

public String saveValue = "1";

/**

* 支付id

*/

public String offerId;

/**

* 默认为开通/续费会员"LTMCLUB"

* 需要开通业务的业务代码

* 开通/续费会员:LTMCLUB

* 开通/续费超级会员:CJCLUBT

* 已经是会员,升级开通超级会员:CJCLUBT(此代码只适用于移动端)

*/

public String serviceCode = "LTMCLUB";

/**

* 默认为"QQ会员"

* 需要定阅的业务名称,将会显示在sdk Title栏、列表栏目,游戏可自行决定

*/

public String serviceName = "QQ会员";

/**

* 默认为1

* 正常开通/续费会员/超级会员:1(会员10元,超会20元)

* 已经是会员,升级开通超级会员:3(支付10元)

*/

public int serviceType = 1;

/**

* 此参数用于后台做统计,取值为申请的aid,aid的申请参考下面文档。

* 例如remark取值:“aid=mvip.youxi.inside.gblnn2_1000001387“

* 注:填写的aid的正确性会作为后续游戏接入会员特权功能完成时,审核通过的依据之一。

* 具体操作是游戏将此字段取值通过log打印出来,并将log截屏提交到游戏上线审核材料中。

* 详细的审核要求请参考另外的文档。

*/

public String remark;

}

返回信息:

参数详细说明见2.2midas支付协议返回参数说明

public class PayResponse implements IProtocol {

   public int resultCode;

   public String resultMsg;

   public int payChannel;

   public int payState;

   public int providerState;

   public int saveNum;

   public String extendInfo;

   public int realSaveNum;

   public String orderno;

}


qq加群绑群协议


一键加入客服群流程


1,以客服群群主QQ帐号登录游戏

2,调用QQGroupRequest, BIND,  groupId, groupName, zoneId 按照协议说明自定义。 此时会拉起qq,可以选择到客服群,点击绑定。

3,绑定群成功后会返回 groupOpenid, groupKey。  保存好这个唯一的 groupOpenid。

4,其他玩家帐号登录通过groupOpenid,就可以查询到groupKey。

5, 通过groupKey 可以加群。


公会加绑群组件调用流程(会长态)

                         


公会加绑群组件调用流程(成员态)

                         

                        

public class QQGroupRequest {

public String appId;

public String callerPkgName;

public String gameType;

public final static int QUERY_GROUP = 0;

public final static int BIND = 1;

public final static int UNBIND = 2;

public final static int QUERY_KEY = 3;

public final static int JOIN = 4;

/**

* 0:查询公会绑定的群的信息。(String groupId,String zoneId)

* 1:游戏群绑定:游戏公会/联盟内,公会会长可通过点击“绑定”按钮,拉取会长自己创建的群,绑定某个群作为该公会的公会群

* ( String groupId,String groupName,String zoneId)

* 2:解绑公会当前绑定的QQ群。(String groupOpenid,String groupId)

* 3:询公会绑定群加群时的GroupKey的信息。(String groupOpenid)

* 4:通过游戏加入QQ群。(String qqGroupKey)

*/

public int requestType = 0;

/**

* 公会id,opensdk限制只能填数字,字符可能会导致绑定失败

*/

public String groupId;

/**

* 游戏分区id,opensdk限制只能填数字,字符可能会导致绑定失败

*/

public String zoneId;

/**

* 公会名称

*/

public String groupName;

/**

* 公会绑定的群的群openid

*/

public String groupOpenid;

/**

* 需要添加群的key,可以通过type=3获得

*/

public String qqGroupKey;

}


public class QQGroupResponse{

    public int resultCode;

    public String resultMsg = "";


   public string groupName=""; /*群名称 */

   public string fingerMemo="";/*群的相关简介 */

   public string memberNum=""; /*群成员数 */

   public string maxNum=""; /*该群可容纳的最多成员数 */

   public string ownerOpenid=""; /*群主openid */

   public string groupId=""; /*与该QQ群绑定的公会ID */

   public string zoneId=""; /*大区ID */

   public string adminOpenids=""; /*管理员openid。如果管理员有多个的话,用“,”隔开,例如0000000000000000000000002329FBEF,0000000000000000000000002329FAFF */

   public string groupOpenid="";  /*和游戏公会ID绑定的QQ群的groupOpenid */

   public string groupKey="";   /*需要添加的QQ群对应的key */

}

qq发送群消息

public class QQSendGroupMsgRequest{

  public String appId;

  public String callerPkgName;

  public String gameType;

  public String groupOpenid;

  public String title;

  public String desc;

  public String imageUrl;

  public String redirectUrl;

  public String param;

}

入参说明

参数名称
类型
描述
groupOpenid
String
分享指定群的key(群openid)
title String
消息标题,最长45字节
desc
String
消息摘要,最长60字节
imageUrl
String
消息左侧缩略图URL
redirectUrl
String
回调地址 (第三方应用在上架时配置的回调地址,不得填写其它域名地址)
param
String
redirect_url的输入参数,第三方可根据此参数来跳转到不同详情页(非必填,不填或者为空则系统默认为none)

public class QQSendGroupMsgResponse{

  public int resultCode;

  public String resultMsg = "";

  public String isLost;//表示是否丢数据,1表示丢数据,0表示数据完整

}

微信加群协议

public class WXGroupRequest {

  public String appId;

  public String callerPkgName;

  public String gameType;

  public final static int QUERY_GROUP = 0;

  public final static int CREATE = 1;

  public final static int JOIN = 2;

  /**

   * 一个微信帐号每天最多只能创建一个微信工会群,必须等24小时之后才能创建新的微信群。

   * 一个微信帐号在一款游戏下只能创建5个微信工会群,并且创建的微信工会群不能被删除。因此调试时如果创建了多余5个该游戏的群,就需要换一个帐号创建工会群。

   *

   * 0:游戏内查询公会微信群信息,用于检查是否创建微信公会群以及对应用户是否加入群。(String groupId,String openIdList)

   * 1:游戏内创建公会微信群。(String groupId,String chatRoomName,String chatRoomNickName)

   * 2:游戏内加入公会微信群。(String groupId,String chatRoomNickName)

   */

  public int requestType = 0;

  /**

   * 公会id

   */

  public String groupId;

  /**

   * 待检查是否在群里的用户openid列表,逗号分割

   */

  public String openIdList;

  /**

   * 聊天群名称

   */

  public String chatRoomName;

  /**

   * 用户在聊天群的自定义昵称

   */

  public String chatRoomNickName;

}

public class WXGroupResponse {

  public int resultCode;

  public String resultMsg = "";

  public String openIdList = "";

  public String memberNum = "";

  public String chatRoomURL = "";

}


后台分享(不拉起qq或微信)

请求协议:BackgroundShareRequest

请求参数:

public class BackgroundShareRequest{

public String appId;

public String callerPkgName;

public String gameType;

/**

* 分享目标玩家的openid

*/

public String openId;

/**

* 标题

*/

public String title;

/**

* 概要信息

*/

public String summary;

/**

* qq专用;分享缩略图Url;只能为网络图片Url

*/

public String imgUrl;

/**

* qq专用;游戏中心详情页地址

*/

public String targetUrl;

/**

* qq专用;预览文字,可选

*/

public String previewText;

/**

* qq专用;

* 标识消息类别,可选。

* "MSG_INVITE" : 邀请

* "MSG_FRIEND_EXCEED" : 超越炫耀

* "MSG_HEART_SEND" : 送心

* "MSG_SHARE_FRIEND_PVP" : PVP对战

*/

public String gameTag;

/**

* wx专用;

* 游戏自定义透传字段

*/

public String messageExt;

/**

* wx专用;

* 此值会传到微信供统计用, 有下列值可选填。

* "MSG_INVITE" : 邀请

* "MSG_SHARE_MOMENT_HIGH_SCORE" : 分享本周最高到朋友圈

* "MSG_SHARE_MOMENT_BEST_SCORE" : 分享历史最高到朋友圈

* "MSG_SHARE_MOMENT_CROWN" : 分享金冠到朋友圈

* "MSG_SHARE_FRIEND_HIGH_SCORE" : 分享本周最高给好友

* "MSG_SHARE_FRIEND_BEST_SCORE" : 分享历史最高给好友

* "MSG_SHARE_FRIEND_CROWN" : 分享金冠给好友

* "MSG_friend_exceed" : 超越炫耀

* "MSG_heart_send" : 送心

*/

public String mediaTagName;



}


public class BackgroundShareResponse {

public int resultCode;//0分享成功-1取消分享-2分享失败

public String resultMsg = "";


}

Launcher 相关协议

打开Launcher

public class LauncherRequest {

    public String gameType;    

    public int actionId;    

}


参数名
参数类型

参数说明

gameType
String

游戏类型:  "UNITY",  "COCOS"

actionId
int

动作Id

   int UNKNOWN = 0;//无效Id

   int OPEN_LAUNCHER = 1;//打开launcher

   int OPEN_MAIN = 2;//打开主页

   int SHOW_NOTICE = 3;//打开公告

   int SHOW_COMPARE = 4;//打开排行榜





附近的游戏好友请求

public class LBSRequest {

        public String callerPkgName;

        public String gameType;

        public int type;

}



参数名
参数类型
参数说明
callerPkgName
String
接口调用方包名
gameType
String
游戏类型:  "UNITY",  "COCOS"
type int

 0:获取附近的人

 1:清空自己的位置信息

 2:获取自己的位置信息接口



public class LBSResponse extends BaseResponse {

   public int playerNum;

   public String ownerOpenid;

   public int requestType;

   public ArrayList<Person> persons;

   public double longitude;

   public double latitude;

}



public class Person {

   public String city;

   public String country;

   public String province;

   public String gender;

   public String gpsCity;

   public String pictureSmall;

   public String lang;

   public String nickName;

   public String openId;

   public String pictureLarge;

   public String pictureMiddle;

   public String temp;

}




参数名
参数类型
参数说明
playerNum
int 附近的玩家数量
ownerOpenid
String
请求的玩家id
requestType
int

请求类型,对应返回request中的type数值


persons
Json 玩家信息
longitude
double 位置经度
latitude
double 位置维度


联系我们 向上
回到顶部