数据结构
Unity3D
CallbackRet
LoginRet
TokenRet
eTokenType
WakeupRet
LocationRet
RelationRet
PersonInfo
ShareRet
GroupRet
QQGroupInfo
WXGroupInfo
eFlag
eQQScene
eWechatScene
ePlatform
eBuglyLogLevel
NoticeInfo
GetCountryFromIPRet
CheckULRet
eULCheckStep
GetIPInfoRet
Android
CallbackRet
LoginRet
TokenRet
eTokenType
WakeupRet
LocationRet
RelationRet
PersonInfo
ShareRet
GroupRet
QQGroupInfo
WXGroupInfo
eFlag
eQQScene
eWechatScene
ePlatform
eBuglyLogLevel
NoticeInfo
GetCountryFromIPRet
GetIPInfoRet
IOS
CallbackRet
LoginRet
TokenRet
eTokenType
WakeupRet
LocationRet
RelationRet
PersonInfo
ShareRet
GroupRet
QQGroupInfo
WXGroupInfo
eFlag
eQQScene
eWechatScene
ePlatform
eBuglyLogLevel
NoticeInfo
GetCountryFromIPRet
CheckULRet
eULCheckStep
GetIPInfoRet
其他
数据结构
系统工具
错误码 / Unity3D / CallbackRet

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,权限正常且微信正常返回好友备注时,该字段才存在
}

ShareRet

分享信息

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; //标志是否请求头查询
}