개요
관계 사슬 모듈은 MSDK에서 제공하며, 모바일QQ, 위챗의 친구 관계를 기초로 하는 정보 검색 서비스입니다. 관계 사슬 모듈은 다음과 같은 기능 환경을 제공합니다.
1) 개인 정보 검색 (PersonInfo): 닉네임(nickname), OpenId(openId), 성별(gender), 소형 프로필 사진 40x40(pictureSmall), 중간 크기 프로필 사진 60x60(pictureMiddle), 대형 프로필 사진100x100(pictureLarge), 출신 성(지역)(province 위챗 한정), 도시(city 위챗 한정)
주: 모바일QQ에는 제한이 있기 때문에, 프로필 사진 반환에는 40x40 및 100x100 두 유형만 있으며, 모바일QQ의 설정은 중간 사이즈 사진도 40x40 사이즈로 반환합니다.
2) 친구 정보 찾기 : 플레이한 적이 있는 현재 게임의 친구 정보만 검색할 수 있으며, 각 친구의 상세 정보는 해당 개인의 상세 정보(PersonInfo)와 동일합니다.
3) QQ 친구 추가 : 게임 내에서 당사의 인터페이스인 [QQ 친구 추가)#Android_AddQQFriend)를 통해 친구 추가 기능을 수행할 수 있습니다.
다음 환경에서 개인 정보 검색, 친구 정보 검색 기능을 이용할 수 있습니다.
4) 게임 순위 (예: [검협정연] 친구 순위)
QQ 친구 순위 호출 인터페이스: WGQueryQQGameFriendsInfo
기능1: WGQueryQQGameFriendsInfo를 호출해 함께 플레이하는 QQ 친구의 데이터를 획득합니다.
기능2: 선물하기: 백엔드 공유 기능 중 하나로, 그 특징은 모바일QQ를 풀업하지 않고도 서비스 클라잉언트를 통해 직접 친구와 공유할 수 있으며, 공유 모듈 “모바일QQ 백엔드 공유”를 참조할 수 있습니다.
기능3: 모바일QQ 함께 플레이하는 친구 게임 입구
기능4: 친구 초대하기: QQ 채팅에서 공유할 수 있는 기능으로, 공유 모듈 “QQ 구조화 공유”를 참조하실 수 있습니다.
위챗 친구 순위 호출 인터페이스: WGQueryWXGameFriendsInfo
기능1: WGQueryWXGameFriendsInfo를 호출해 함께 플레이하는 위챗 친구의 데이터를 획득합니다.
기능2: 선물하기: 백엔드 공유 기능 중 하나로, 그 특징은 위챗을 풀업하지 않고도 서비스 클라잉언트를 통해 직접 친구와 공유할 수 있으며, 공유 모듈 “위챗 백엔드 공유”를 참조할 수 있습니다.
기능3: 위챗 함께 플레이하는 친구 게임 입구
기능4: 친구 초대하기: 위챗 채팅에서 공유할 수 있는 기능으로, 공유 모듈 “위챗 구조화 공유”를 참조하실 수 있습니다.
5) 친구 추가
액세스 내비게이션
1 사전 요구 사항
1) 초기화 모듈 설명에 따라 초기화를 완료했습니다.
2) 사용자 모바일QQ/위챗 인증 등록 확인
2 Demo 예시를 참고하십시오.
1) 모바일QQ 개인 정보 예시는 com\example\module\submodule\Example\QQModule.java 파일의 callWGQueryQQUserInfo() 메소드를 참조하십시오.
2) 모바일QQ 친구 정보 예시는 com\example\module\submodule\Example\QQModule.java 파일의 callWGQueryQQGameFriendsInfo() 메소드를 참조하십시오.
3) 위챗 개인 정보 예시는 com\example\module\submodule\Example\WXModule.java 파일의 callWGQueryWXUserInfo() 메소드를 참조하십시오.
4) 위챗 친구 예시는 com\example\module\submodule\Example\WXModule.java 파일의 callWGQueryWXGameFriendsInfo() 메소드를 참조하십시오.
개인 정보 검색
1. 종합 설명
1) 모바일QQ 사용자(WGQueryQQMyInfo) 사용자가 모바일QQ 승인 후에, 게임에서 사용자의 닉네임, 프로필 사진 등의 기타 정보를 필요로 하며, WGQueryQQMyInfo를 호출할 수 있습니다. 다음과 같은 개인 정보가 포함됩니다. 닉네임(nickname), OpenId(openId), 성별(gender), 소형 프로필 사진(pictureSmall), 중간 크기 프로필 사진(pictureMiddle), 대형 프로필 사진(pictureLarge).
2) 위챗 사용자(WGQueryWXMyInfo) 사용자가 위챗 승인 후에, 게임에서 사용자의 닉네임, 프로필 사진 등의 기타 정보를 필요로 하며, WGQueryWXMyInfo를 호출할 수 있습니다. 다음과 같은 개인 정보가 포함됩니다. 닉네임(nickname), OpenId(openId), 성별(gender), 소형 프로필 사진(pictureSmall), 중간 크기 프로필 사진(pictureMiddle), 대형 프로필 사진(pictureLarge), 성(지역)(province), 도시(city).
2. 콜백
1) 기능 설명
msdk의 관계 사슬 콜백을 수신하기 위해, 게임에서 등록하고 콜백 처리할 필요가 있으므로, 게임의 onCreate 함수 내에서의 등록을 권장합니다.
2) 인터페이스 선언
public static void WGSetObserver(WGPlatformObserver observer)
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
observer | WGPlatformObserver 유형 | MSDK 콜백 유형은 예시 코드를 참조하십시오. |
4) 반환값
없으며, OnRelationNotify 함수 콜백에서 처리합니다.
반환값 명칭 | 유형 | 설명 |
---|---|---|
relationRet | RelationRet | 관계 사슬 구조체 |
5) 예시 코드
WGPlatform.WGSetObserver(new WGPlatformObserver() {
@Override
public void OnWakeupNotify(WakeupRet ret) {
// TODO Auto-generated method stub
}
@Override
public void OnShareNotify(ShareRet ret) {
// TODO Auto-generated method stub
}
@Override
public void OnRelationNotify(RelationRet relationRet) {
if (relationRet.flag == CallbackFlag.eFlag_Succ) {
// 관계 사슬 검색 성공
switch(relationRet.type){
case eRet_QueryMyInfo:
// 개인 정보
break;
case eRet_QueryGameFriends:
// 친구 정보
break;
}
} else {
// 관계 사슬 검색 실패
}
}
@Override
public void OnLoginNotify(LoginRet ret) {
// TODO Auto-generated method stub
}
@Override
public void OnLocationNotify(RelationRet relationRet) {
// TODO Auto-generated method stub
}
@Override
public void OnLocationGotNotify(LocationRet locationRet) {
// TODO Auto-generated method stub
}
@Override
public void OnFeedbackNotify(int flag, String desc) {
// TODO Auto-generated method stub
}
@Override
public String OnCrashExtMessageNotify() {
// TODO Auto-generated method stub
return null;
}
@Override
public byte[] OnCrashExtDataNotify() {
// TODO Auto-generated method stub
return null;
}
@Override
public void OnAddWXCardNotify(CardRet ret) {
// TODO Auto-generated method stub
}
});
6) 특수 설명
없음
7) 명칭 해석
없음
3. 호출 인터페이스
1) 기능 설명
게임에서 WGQueryQQMyInfo/WGQueryWXMyInfo 인터페이스 호출을 통해 개인 정보를 검색해 다음 정보를 얻을 수 있습니다.: 닉네임(nickname), OpenId(openId), 성별(gender), 소형 프로필 사진 40x40(pictureSmall), 중간 크기 프로필 사진 60x60(pictureMiddle), 대형 프로필 사진100x100(pictureLarge), 출신 성(지역)(province 위챗 한정), 도시(city 위챗 한정)
2) 인터페이스 선언
public static Viod WGQueryQQMyInfo();
public static Viod WGQueryWXMyInfo();
3) 파라미터 설명
없음
4) 반환값
없으며, 결과는 OnRelationNotify를 통해 콜백하며, 콜백 설정은 등록 콜백을 참조하십시오.
5) 예시 코드
WGPlatform.WGQueryQQMyInfo(); // 모바일QQ 사용자 개인 정보 검색
WGPlatform.WGQueryWXMyInfo(); // 위챗 사용자 개인 정보 검색
6) 특수 설명
개인 정보 내에 OpenId 정보가 없을 경우, 필요한 OpenId 정보는 로그인 모듈이 획득한 토큰 인터페이스 WGGetLoginRecord를 통해 획득할 수 있습니다.
7) 명칭 해석
없음
함께 플레이하는 친구 정보 검색
1. 종합 설명
1) 모바일QQ 사용자(WGQueryQQGameFriendsInfo) 사용자는 모바일QQ 승인 후에 WGQueryQQGameFriendsInfo를 통해 게임 내 친구 정보(친구 점수 순위 등)를 풀업할 수 있습니다. 친구 정보는 개인 정보를 참조합니다.
2) 위챗 사용자(WGQueryWXGameFriendsInfo) 사용자는 위챗 승인 후에 WGQueryWXGameFriendsInfo를 통해 게임 내 친구 정보(친구 점수 순위 등)를 풀업할 수 있습니다. 친구 정보는 개인 정보를 참조합니다.
2. 콜백
해당 인터페이스가 개인 정보 검색 인터페이스와 동일한 콜백을 사용할 경우, 이미 설정되어 있다면 중복 설정할 필요가 없습니다. 설정되어 있지 않은 경우에는 콜백 설정 RelationRet 대상의 persons 속성이 하나의 List인지 확인하고, 그중에서 각 PersonInfo 대상이 친구 정보입니다. 친구 정보에는 다음 사항들이 포함됩니다. OpenId(openId), 닉네임(nickname), OpenId(openId), 성별(gender), 소형 프로필 사진 40x40(pictureSmall), 중간 크기 프로필 사진 60x60(pictureMiddle), 대형 프로필 사진100x100(pictureLarge), 출신 성(지역)(province 위챗 한정), 도시(city 위챗 한정)
3. 호출 인터페이스
1) 기능 설명
게임에서 WGQueryQQGameFriendsInfo/WGQueryWXGameFriendsInfo 인터페이스 호출을 통해 해당 게임을 플레이하는 친구의 개인 정보를 검색해 다음 정보를 얻을 수 있습니다.: 닉네임(nickname), OpenId(openId), 성별(gender), 소형 프로필 사진 40x40(pictureSmall), 중간 크기 프로필 사진 60x60(pictureMiddle), 대형 프로필 사진100x100(pictureLarge), 출신 성(지역)(province 위챗 한정), 도시(city 위챗 한정)
2) 인터페이스 선언
public static Void WGQueryQQGameFriendsInfo();
public static Void WGQueryWXGameFriendsInfo();
3) 파라미터 설명
없음
4) 반환값
없으며, 결과는 OnRelationNotify를 통해 콜백하며, 콜백 설정은 등록 콜백을 참조하십시오.
5) 예시 코드
WGPlatform.WGQueryQQGameFriendsInfo(); // 모바일QQ 사용자 친구 정보 검색
WGPlatform.WGQueryWXGameFriendsInfo(); // 위챗 사용자 친구 정보 검색
6) 특수 설명
1) 개인 정보(예: 프로필 사진, 이름), 친구 정보(예: 프로필 사진, 이름) 획득 실패 시에 게임 로그인 실패를 피하기 위해, 개인 정보를 확인하고 친구 정보 설정이 핵심 경로에 있는지 확인하십시오.
2) 게임 측에서 개인 정보 및 친구 정보 획득 시에 캐시 처리해 매번 로그인 시에 새로운 개인 정보 및 친구 정보를 불러오는 절차를 피하고 위챗 방문 트래픽이 지나치게 많아지지 않도록 할 것을 권장합니다.
3) 모바일QQ에서 검색한 같은 게임을 플레이하는 친구의 결과에는 자신의 정보가 포함되지 않지만, 위챗에서 검색한 같은 게임을 플레이하는 친구의 결과에는 자신의 정보가 포함됩니다.
7) 명칭 해석
같은 게임 친구: 현재 게임을 플레이하는 친구 플레이어
비 핵심 경로: 게임 로그인 과정에 영향을 미치지 않는 것을 가리키는 말, msdk는 모바일QQ/위챗의 로그인 과정을 핵심 경로로 정의하며, 로그인 과정에서 단절되면 해당 게임의 성상적인 진행에 심각한 영향을 미칩니다.
QQ 친구 추가
1) 종합 설명
플레이어는 게임 중에 게임 플레이어를 직접 QQ 친구(여러 차례 클릭해도 여러 건의 QQ 신청을 발송할 수 없음)로 추가할 수 있습니다.
2) 콜백
없음
3. 호출 인터페이스
1) 기능 설명
플레이어는 게임 중에 다른 게임 플레이어를 직접 QQ 친구로 추가할 수 있습니다.
2) 인터페이스 선언
public static void WGAddGameFriendToQQ(string fopenid, string desc, string message);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
fopenid | string | 친구의 openid를 추가해야 합니다. |
desc | string | 친구의 비주 정보를 추가해야 합니다. |
message | string | 친구 추가 시 발송하는 인증 정보 |
4) 반환값
없음
5) 예시 코드
string openID = "44386ABB2C583E72CF436D3FAD31B323";
WGPlatform.WGAddGameFriendToQQ (openID, "줄이 끊어진 연", "안녕하세요 저는 <제왕의 영광> 플레이어, 샤오리우라고 해요");
6) 특수 설명
없음
7) 명칭 해석
없음