CallbackRet
public abstract class CallbackRet{
public int flag=eFlag.eFlag_Error;//结果
public string desc="";
public int platform=0;//平台类型
}
LoginRet
存储用户登录后得到的信息
public class LoginRet: CallbackRet{
public string open_id=""; //用户账号唯一标识
public string user_id=""; //用户ID,保留,游戏无需关心
public string pf=""; //用于支付 调用WGGetPf()获取
public string pf_key=""; //用于支付 调用WGGetPfKey()获取
public String prajna_ext; //3.3.7新增字段
public List<TokenRet> token=new List<TokenRet>(); //存储票据列表
}
TokenRet
票据信息
public class TokenRet{
public int type=0; //票据类型 eTokenType类型
public string value=""; //票据value
public long expiration=0; //票据过期时间(游戏不需要关心)
}
eTokenType
token种类
public class eTokenType{
public const int eToken_QQ_Access=1; //手Q accesstoken
public const int eToken_QQ_Pay=2; //手Q paytoken
public const int eToken_WX_Access=3; //微信 accesstoken
public const int eToken_WX_Code=4; //游戏不需要关心
public const int eToken_WX_Refresh=5; //微信refreshtoken
public const int eToken_Guest_Access=6;//游客 accesstoken
public const int eToken_QQ_Refresh=7; //预留字段;手Q refreshtoken
public const int eToken_Apple_Access=8; // Apple登录accessToken(支付、鉴权等使用)
public const int eToken_Apple_Refresh=9; // Apple登录refreshToken(游戏不需要关心)
}
平台 | token类型 | token作用 | type | 有效期 | |
---|---|---|---|---|---|
手Q | accesstoken | 查询手Q个人、好友、关系链、分享等功能 | eToken_QQ_Access | 90天 | |
手Q | paytoken | 支付相关 | eToken_QQ_Pay | 7天 | |
微信 | accesstoken | 查询微信个人、好友、关系链、分享、支付等 | eToken_WX_Access | 24小时 | |
微信 | refreshtoken | 刷新accesstoken | eToken_WX_Refresh | 30天 |
WakeupRet
存储游戏被平台唤醒时,平台传递到客户端的信息
public class WakeupRet: CallbackRet{
/** 传递的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 List<KVPair> extInfo=new List<KVPair>();
...
}
LocationRet
地理位置信息
public class LocationRet : CallbackRet{
public double longitude;
public double latitude;
...
}
RelationRet
关系链信息,即“一群”好友的信息
public class RelationRet : CallbackRet{
public List<PersonInfo> persons=new List<PersonInfo>();
public List<PersonInfo> _persons {
get{return persons;}
set{ persons=value;}
}
//...
public RelationRet(){
}
}
PersonInfo
好友信息
public class PersonInfo{
public string nickName="";
public string openId="";
public string gender="";
public string pictureSmall="";
public string pictureMiddle="";
public string pictureLarge="";
public string province="";
public string city="";
public string gpsCity="";
public float distance=0;
public bool isFriend=false;
public long timestamp=0;
public string lang="";
public string country="";
public string friendRemark=""; //仅针对于wx,权限正常且微信正常返回好友备注时,该字段才存在
}
分享信息
public class ShareRet: CallbackRet{
public string extInfo="";
...
}
GroupRet
群组信息
public class GroupRet: CallbackRet{
public int errorCode=0;
public QQGroupInfo mQQGroupInfo ;
public WXGroupInfo mWXGroupInfo ;
public QQGroupInfoV2 mQQGroupInfoV2=new QQGroupInfoV2();
...
}
QQGroupInfo
Q群信息
public class QQGroupInfo{
public string groupName=""; /*群名称 */
public string fingerMemo="";/*群的相关简介 */
public string memberNum=""; /*群成员数 */
public string maxNum=""; /*该群可容纳的最多成员数 */
public string ownerOpenid=""; /*群主openid */
public string unionid=""; /*与该QQ群绑定的公会ID */
public string zoneid=""; /*大区ID */
public string adminOpenids=""; /*管理员openid。如果管理员有多个的话,用“,”隔开,例如0000000000000000000000002329FBEF,0000000000000000000000002329FAFF */
public string groupOpenid=""; /*和游戏公会ID绑定的QQ群的groupOpenid */
public string groupKey=""; /*需要添加的QQ群对应的key */public string relation="";/*显示成员和群的关系1:群主,2:管理员,3:普通成员,4:非成员 */
}
WXGroupInfo
微信群信息
public class WXGroupInfo{
public string openIdList=""; /* 群成员openID */
public string memberNum=""; /* 群成员数 */
public string chatRoomURL=""; /*假如群聊URL */
}
eFlag
登录返回码
public class eFlag
{
public const int eFlag_Succ=0;
public const int eFlag_QQ_NoAcessToken=1000; // QQ&QZone login fail and can't get accesstoken
public const int eFlag_QQ_UserCancel=1001; // 用户取消
public const int eFlag_QQ_LoginFail=1002; // 登录失败
public const int eFlag_QQ_NetworkErr=1003; // 网络错误
public const int eFlag_QQ_NotInstall=1004; // QQ未安装
public const int eFlag_QQ_NotSupportApi=1005; // QQ版本不支持此api
public const int eFlag_QQ_AccessTokenExpired=1006; // accesstoken过期
public const int eFlag_QQ_PayTokenExpired=1007; // paytoken过期
public const int eFlag_QQ_UnRegistered=1008; // 没有在qq注册
public const int eFlag_QQ_MessageTypeErr=1009; // QQ消息类型错误
public const int eFlag_QQ_MessageContentEmpty=1010; // QQ消息为空
public const int eFlag_QQ_MessageContentErr=1011; // QQ消息不可用(超长或其他)
public const int eFlag_WX_NotInstall=2000; // Weixin is not installed
public const int eFlag_WX_NotSupportApi=2001; // Weixin don't support api
public const int eFlag_WX_UserCancel=2002; // Weixin user has cancelled
public const int eFlag_WX_UserDeny=2003; // Weixin user has denys
public const int eFlag_WX_LoginFail=2004; // Weixin login faild
public const int eFlag_WX_RefreshTokenSucc=2005; // Weixin 刷新票据成功
public const int eFlag_WX_RefreshTokenFail=2006; // Weixin 刷新票据失败
public const int eFlag_WX_AccessTokenExpired=2007; // Weixin accessToken过期
public const int eFlag_WX_RefreshTokenExpired=2008; // Weixin refresh过期
public const int eFlag_WX_Group_HasNoAuthority=2009; //游戏没有建群权限
public const int eFlag_WX_Group_ParameterError=2010; //参数检查错误
public const int eFlag_WX_Group_HadExist=2011; //微信群已存在
public const int eFlag_WX_Group_AmountBeyond=2012; //建群数量超过上限
public const int eFlag_WX_Group_IDNotExist=2013; //群ID不存在
public const int eFlag_WX_Group_IDHadCreatedToday=2014;//群ID当天建群数量超限
public const int eFlag_WX_Group_JoinAmountBeyond=2015; //加群数量超限
public const int eFlag_Error=-1;
/** 自动登录失败, 需要重新授权, 包含本地票据过期, 刷新失败登所有错误 */
public const int eFlag_Local_Invalid=-2;
/*添 加正在检查token的逻辑 */
public const int eFlag_Checking_Token=5001;
/** 不在白名单 */
public const int eFlag_NotInWhiteList=-3;
/** 需要引导用户开启定位服务 */
public const int eFlag_LbsNeedOpenLocationService=-4;
/** 定位失败 */
public const int eFlag_LbsLocateFail=-5;
/** 定位失败定位开关未打开 */
public const int eFlag_LbsNeedOpenLocationSwitch=-6;
/** 用户未授权关系链权限 */
public const int eFlag_UnPermission=-9;
/** 定位超时 */
public const int eFlag_LbsLocateTimeout=-11;
/* 快速登陆相关返回值 */
/**需要进入登陆页 */
public const int eFlag_NeedLogin=3001;
/**使用URL登陆成功 */
public const int eFlag_UrlLogin=3002;
/**需要弹出异账号提示 */
public const int eFlag_NeedSelectAccount=3003;
/**通过URL将票据刷新 */
public const int eFlag_AccountRefresh=3004;
/**中控相关返回值**/
public const int eFlag_Need_Realname_Auth=3005;
/**中控相关返回值**/
public const int eFlag_Need_MSDK_Realname_Auth=3006;
/* 该功能在Guest模式下不可使用 */
public const int eFlag_InvalidOnGuest=-7;
/* Guest的票据失效 */
public const int eFlag_Guest_AccessTokenInvalid=4001;
/* Guest模式登录失败 */
public const int eFlag_Guest_LoginFailed=4002;
/* Guest模式注册失败 */
public const int eFlag_Guest_RegisterFailed=4003;
/*添加正在检查token的逻辑 */
public const int eFlag_Checking_Token=5001;
/**正在登录中,请等待登录回调后再操作 */
public const int eFlag_Logining=5002;
/**正在登录中,请等待登录回调后再操作 */
public const int eFlag_Login_Timeout=5003;
/**调用接口太频繁 */
public const int eFlag_RequestTooFrequently=5004;
/* 关闭内置浏览器*/
public const int eFlag_Webview_closed=6001;
/**打开注销账号的url无效 */
public const int eFlag_Invalid_Delete_Account_URL=6002;
/**注销账号操作时未登录或渠道不支持 */
public const int eFlag_Invalid_Login_Channel=6003;
/* webview js给native传递参数的事件*/
public const int eFlag_Webview_page_event=7000;
/* Apple 登录返回码说明*/
public const int eFlag_Apple_NotSupport=8002, //iOS 13 以下版本不支持 Apple 登录
public const int eFlag_Apple_UserCancel=8003, //用户取消
public const int eFlag_Apple_LoginFailed=8004, //Apple 登录失败,具体的原因查看 des 字段
public const int eFlag_Apple_AccessTokenExpired=8005, //Apple access token 过期,需要重新登录
public const int eFlag_Apple_Revoked=8006, //用户撤销了该授权,需要重新登录
public const int eFlag_Apple_NotFound=8007, //用户没有对其授权
public const int eFlag_Apple_Unknown=8008, //未知错误,请查看 des 字段
public const int eFlag_Apple_NetworkError=8009, //网络错误
}
eQQScene
手Q场景枚举
public enum eQQScene{
QQScene_None=0,
QQScene_QZone=1, //QQ空间
QQScene_Session=2 //手Q会话
}
eWechatScene
微信场景枚举
public enum eWechatScene{
WechatScene_Session=0, //微信会话
WechatScene_Timeline=1 //微信朋友圈
}
ePlatform
平台枚举
public enum ePlatform{
ePlatform_None=0, //未登录
ePlatform_Weixin=1, //微信平台
ePlatform_QQ=2, //手Q平台
ePlatform_WTLogin=3, //WTLogin登录
ePlatform_QQHall=4, //手Q游戏大厅
ePlatform_Guest=5, //游客登录
ePlatform_Auto=6 //自动登录,使用上一次平台
ePlatform_Apple=7 //Apple 登录
ePlatform_WeixinVideoLive=8 //微信视频号登录
}
NoticeInfo
公告信息
public class NoticeInfo{
public string msg_id; /* 公告id */
public string open_id; /* 用户open_id */
public string msg_url ; /* 公告跳转链接 */
public int msg_type ; /* 公告展示类型,滚动弹出 */
public string msg_scene ; /* 公告展示的场景,管理端后台配置 */
public string start_time; /* 公告有效期开始时间 */
public string end_time ; /* 公告有效期结束时间 */
public string update_time ; /* 公告更新时间 */
public int content_type;/* 公告内容类型,eMSG_CONTENTTYPE */
public int msg_order;/*公告优先级 */
/*文本公告特殊字段 */
public string msg_title ; /* 公告标题 */
public string msg_content;/* 公告内容 */
/*网页公告特殊字段 */
public string content_url;
public List<PicInfo> picArray=new List<PicInfo>();
public string msg_custom;/*自定义参数*/
}
上报日志到bugly的日志级别
eBuglyLogLevel
public enum eBuglyLogLevel{
eBuglyLogLevel_S=0, /* Silent */
eBuglyLogLevel_E=1, /* Error */
eBuglyLogLevel_W=2, /* Warnning */
eBuglyLogLevel_I=3, /* Info */
eBuglyLogLevel_D=4, /* Debug */
eBuglyLogLevel_V=5, /* Verbose */
}
eApiName
public enum eApiName{
eApiName_WGSendToQQWithPhoto=0,
eApiName_WGJoinQQGroup=1,
eApiName_WGAddGameFriendToQQ=2,
eApiName_WGBindQQGroup=3
}
LocalMessageIOS
public class LocalMessageIOS{
public string fireDate { get; set; } /*本地推送触发的时间,格式yyyy-MM-dd HH:mm:ss */
public string alertBody { get; set; } /*推送的内容 */
public int badge { get; set; } /*角标的数字 */
public string alertAction { get; set; } /*替换弹框的按钮文字内容(默认为"启动") */
public List<KVPair> userInfo { get; set; } /*自定义参数,可以用来标识推送和增加附加信息 */
public string userInfoKey { get; set; } /*本地推送在前台推送的标识Key */
public string userInfoValue { get; set; } /*本地推送在前台推送的标识Key对应的值 */
public LocalMessageIOS(){
fireDate="";
alertBody="";
alertAction="";
userInfoKey="";
userInfoValue="";
}
}
LocalMessageAndroid
public class LocalMessageAndroid{
public int type { get; set; } /* 消息类型type: 1:通知,2:消息 */
public int action_type { get; set; } /* 动作类型,1打开activity或app本身,2打开浏览器,3打开Intent ,4通过包名打开应用。默认为1 */
public String title { get; set; } /* 消息标题title: 消息标题 */
public String content { get; set; } /* 消息内容content 消息內容 */
public String custom_content { get; set; } /* 消息自定义内容 */
public int icon_type { get; set; } /* 通知栏图标是应用内图标还是上传图标(0是应用内图标,1是上传图标,默认0) */
public int lights { get; set; } /* 是否呼吸灯(0否,1是,默认1) */
public int ring { get; set; } /* 是否响铃(0否,1是,默认1) */
public int vibrate { get; set; } /* 是否振动(0否,1是,默认1) */
public int style_id { get; set; } /* Web端设置是否覆盖编号build_id的通知样式,默认1,0否,1是 */
public long builderId { get; set; } /* 消息样式,默认为0或不设置 */
public String activity { get; set; } /* 打开指定Activity,例如:com.qq.xgdemo.AboutActivity。当动作类型为1或4时有效 */
public String packageDownloadUrl { get; set; }
public String packageName { get; set; } /* 拉起其他应用的包名,当动作类型为4时有效 */
public String icon_res { get; set; } /* 应用内图标文件名(xg.png)或者下载图标的url地址,例如:xg或者图片url */
public String date { get; set; } /* 弹出通知的日期,格式为”yyyyMMdd” */
public String hour { get; set; } /* 弹出通知的日期的小时数 */
public String min { get; set; } /* 弹出通知的日期的分钟数 */
public String intent { get; set; } /* 设置打开intent,例如(10086拨号界面)intent:10086#Intent;scheme=tel;action=android.intent.action.DIAL;S.key=value;end当动作类型为3时有效 */
public String url { get; set; } /* 打开url,例如:http://www.qq.com。当动作类型为2时有效 */
public String ring_raw { get; set; } /* 指定应用内的声音(ring.mp3),例如:ring */
public String small_icon { get; set; } /* 指定状态栏的小图片(xg.png),例如:xg */
public LocalMessageAndroid(){
type=1;
action_type=-1;
icon_type=-1;
lights=-1;
ring=-1;
vibrate=-1;
style_id=-1;
builderId=-1;
content="";
custom_content="";
activity="";
packageDownloadUrl="";
packageName="";
icon_res="";
date="";
hour="";
intent="";
min="";
title="";
url="";
ring_raw="";
small_icon="";
}
}
eMSDK_SCREENDIR
屏幕方向
public enum eMSDK_SCREENDIR{
eMSDK_SCREENDIR_SENSOR=0, /* 横竖屏 */
eMSDK_SCREENDIR_PORTRAIT=1, /* 竖屏 */
eMSDK_SCREENDIR_LANDSCAPE=2 /* 横屏 */
}
GetCountryFromIPRet
typedef struct
{
int ret; // 查询结果flag,0为成功
std::string msg; // 描述
std::string country; // 国家
bool isQueryByRequestHeader; // 标志是否请求头查询
} GetCountryFromIPRet;
CheckULRet
public class CheckULRet
{
public int step; //检查步骤
public bool success; // 检测是否成功
public string errorInfo; // 检测信息
public string suggestion; //出错时的建议
}
eULCheckStep
public enum eULCheckStep
{
eULCheckStepParams=0, // 参数检查
eULCheckStepSystemVersion=1, // 当前系统版本检查
eULCheckStepWechatVersion=2, // 微信客户端版本检查
eULCheckStepSDKInnerOperation=3, // 微信SDK内部操作检查
eULCheckStepLaunchWechat=4, // App拉起微信检查
eULCheckStepBackToCurrentApp=5, // 由微信返回当前App检查
eULCheckStepFinal=6, // 最终检查
}
GetIPInfoRet
public class GetIPInfoRet : CallbackRet
{
public int country_no; //国家编号
public int province_no; //省份编号
public int city_no; //城市编号
public string country; //国家
public string province; //省份
public string city; //城市
public bool isQueryByRequestHeader; //标志是否请求头查询
}