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 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; //모바일QQ accesstoken
public const int eToken_QQ_Pay=2; //모바일qQ paytoken
public const int eToken_WX_Access=3; //위챗 accesstoken
public const int eToken_WX_Code=4; //게임에서 관심 불요
public const int eToken_WX_Refresh=5; //위챗 refreshtoken
}
|플랫폼|token 유형|token 기능|type|유효 기한|
|: ------- :|: ------- :|: ------- :|: ------- :|: ------- :|: ------- :|
|모바일QQ |accesstoken|모바일QQ 개인, 친구, 관계 사슬, 공유 등 검색 기능|eToken_QQ_Access| 90일|
|모바일QQ |paytoken |결제 관련|eToken_QQ_Pay| 7일|
|위챗| accesstoken|위챗 개인, 친구, 관계 사슬, 공유 등 검색 기능| eToken_WX_Access| 2시간|
|위챗|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 이상에서만 사용, 모바일QQ 사용 안함 */
public string lang="";
/** 국가 현재 위챗 5.1 이상에서만 사용, 모바일QQ 사용 안함 */
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 class ShareRet: CallbackRet{
public string extInfo="";
...
}
GroupRet
그룹 정보
public class GroupRet: CallbackRet{
public int errorCode=0;
public QQGroupInfo mQQGroupInfo ;
public WXGroupInfo mWXGroupInfo ;
...
}
QQGroupInfo
QQ그룹 정보
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 */
}
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;
/** QQ&QZone login fail and can't get accesstoken */
public const int eFlag_QQ_NoAcessToken=1000;
/** QQ&QZone user has cancelled login process */
public const int eFlag_QQ_UserCancel=1001;
/** QQ&QZone login fail (tencentDidNotLogin) */
public const int eFlag_QQ_LoginFail=1002;
/** QQ&QZone networkErr */
public const int eFlag_QQ_NetworkErr=1003;
/** QQ is not install */
public const int eFlag_QQ_NotInstall=1004;
/** QQ don't support open api */
public const int eFlag_QQ_NotSupportApi=1005;
/** QQ&QZone networkErr */
public const int eFlag_QQ_AccessTokenExpired=1006;
/** pay token 기한 만료 시간 */
public const int eFlag_QQ_PayTokenExpired=1007;
/** Weixin is not installed */
public const int eFlag_WX_NotInstall=2000;
/** Weixin don't support api */
public const int eFlag_WX_NotSupportApi=2001;
/** Weixin user has cancelled */
public const int eFlag_WX_UserCancel=2002;
/** Weixin User has denys */
public const int eFlag_WX_UserDeny=2003;
public const int eFlag_WX_LoginFail=2004;
/** Weixin 토큰 새로고침 성공 */
public const int eFlag_WX_RefreshTokenSucc=2005;
/** Weixin 토큰 새로고침 실패 */
public const int eFlag_WX_RefreshTokenFail=2006;
/** Weixin accessToken 기한 만료, refreshtoken으로 토큰 새로고침 내에서 테스트 */
public const int eFlag_WX_AccessTokenExpired=2007;
/** Weixin refresh도 기한 만료 */
public const int eFlag_WX_RefreshTokenExpired=2008;
public const int eFlag_Error=-1;
/** 자동 로그인 실패, 재승인 필요함, 로컬 토큰 기한 만료를 포함한 새로고침 등 모든 오류*/
public const int eFlag_Local_Invalid=-2;
/** 화이트리스트에 없음*/
public const int eFlag_NotInWhiteList=-3;
/** 사용자에게 위치 정보 서비스를 활성화하도록 안내해야 함 */
public const int eFlag_LbsNeedOpenLocationService=-4;
/** d위치 정보 획득 실패 */
public const int eFlag_LbsLocateFail=-5;
/* 빠른 로그인 관련 반환값 */
/**로그인 페이지에 진입해야 함 */
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;
/*검사 중인 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;
/* 해당 기능은 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;
}
eQQScene
모바일QQ 환경 열거
public enum eQQScene{
QQScene_None=0,
QQScene_QZone=1, //QQ 스페이스
QQScene_Session=2 //모바일QQ 채팅
}
eWechatScene
위챗 환경 열거
public enum eWechatScene{
WechatScene_Session=0, //위챗 채팅
WechatScene_Timeline=1 //위챗 모멘트
}
ePlatform
플랫폼 열거
public enum ePlatform{
ePlatform_None=0, //로그인되어 있지 않음
ePlatform_Weixin=1, //위챗 플랫폼
ePlatform_QQ=2, //모바일QQ 플랫폼
ePlatform_WTLogin=3, //WTLogin 로그인
ePlatform_QQHall=4, //모바일QQ 게임 로비
ePlatform_Guest=5, //게스트 로그인
ePlatform_Auto=6 //자동 등록, 이전 플랫폼 사용
}
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_NOTICETYPE */
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 mNoticeCustom="";
}
보고 로그에서 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, /*가로 화면*/