사전 요구 사항
이미 msdk unity 액세스 설정 모듈 설명에 따라 액세스 설정
모바일 QQ, 위챗 설치 여부 확인
1 개요 설명
모바일 QQ, 위챗 설치 여부 확인
2 콜백
없음
3 인터페이스 호출
1) 기능 설명
모바일 QQ, 위챗 설치 여부 확인
2) 인터페이스 선언
public static boolean WGIsPlatformInstalled(ePlatform platform);
3) 파라미터 설명
파라미터 이름 | 파라미터 유형 | 설명 |
---|---|---|
platform | ePlatform | 게임을 입력한 플랫폼 유형은 다음 값일 수 있음: ePlatform_QQ, ePlatform_Weixin |
4) 반환값
반환값 유형 | 설명 |
---|---|
bool | false는 설치되지 않았음을, 그리고 true는 설치되었음을 나타냄 |
5) 예시 코드
bool isInstalled = WGPlatform.WGIsPlatformInstalled(EPlatform.ePlatform_QQ);
모바일 QQ, 위챗 버전 획득
1 개요 설명
모바일QQ, 위챗 버전
2 콜백
없음
3 인터페이스 호출
1) 기능 설명
현재 Android는 모바일QQ, 위챗 버전 획득을 지원합니다. 인터페이스 상세 설명은 다음과 같음
2) 인터페이스 선언
public static String WGGetPlatformAPPVersion(ePlatform platform);
3) 파라미터 설명
파라미터 명칭 | 파라미터 유형 | 설명 |
---|---|---|
platform | ePlatform | 게임을 입력한 플랫폼 유형은 다음 값일 수 있음: ePlatform_QQ, ePlatform_Weixin |
4) 반환값
반환값 유형 | 설명 |
---|---|
String | APP 버전 |
5) 예시 코드
String wxVersion = WGPlatform.WGGetPlatformAPPVersion(EPlatform.ePlatform_Weixin);
인터페이스 지원 여부 검사
1 개요 설명
현재의 모바일QQ, 위챗 버전이 임의의 api를 지원하는지 확인합니다.
2 콜백
없음
3 인터페이스 호출
1) 기능 설명
일부 api는 비교적 새로운 모바일QQ, 위챗 버전 하에서만 사용할 수 있습니다. WGCheckApiSupport 인터페이스를 호출해 현재의 모바일QQ, 위챗 버전이 임의의 api를 지원하는지 확인합니다. 인터페이스 상세 설명은 다음과 같음:
2) 인터페이스 선언
public static bool WGCheckApiSupport(eApiName apiName);
3) 파라미터 설명
파라미터 명칭 | 파라미터 유형 | 설명 |
---|---|---|
apiName | eApiName | 예: eApiName_WGSendToQQWithPhoto,eApiName_WGJoinQQGroup |
4) 반환값
반환값 유형 | 설명 |
---|---|
bool | false는 비지원, true는 지원을 의미 |
5) 예시 코드
isSupport = WGPlatform.WGCheckApiSupport(ApiName.WGSendToQQWithPhoto);
MSDK 버전 획득
1 개요 설명
MSDK 버전 획득
2 콜백
없음
3 인터페이스 호출
1) 기능 설명
WGGetVersion 인터페이스를 호출해 MSDK 버전을 회신할 수 있습니다. 인터페이스 상세 설명은 다음과 같음
2) 인터페이스 선언
public static String WGGetVersion();
3) 파라미터 설명
없음
4) 반환값
반환값 유형 | 설명 |
---|---|
String | MSDK 버전. 예: 2.14.5a |
5) 예시 코드
String version = WGPlatform.WGGetVersion();
채널 설치 획득
1 개요 설명
채널 설치 획득
비주: 인증 및 설치 채널 번호 획득 인터페이스 액세스 후에 정상인지 가능한 한 실제 기기를 선택해 인증을 실시합니다. Tencent 모바일 게임 지원 시뮬레이터를 이용해 인증하는 경우, apk를 Tencent 모바일 게임 지원 시뮬레이터 상에 직접 로컬 설치하지 마십시오. 왜냐면, Tencent 모바일 지원 시뮬레이터가 로컬 설치된 apk에 대해 강제로 채널 번호를 100048(본래 채널 번호는 6자리 미만)이나 10004822로 변경할 수 있기 때문입니다.
2 콜백
없음
3 인터페이스 호출
1) 기능 설명
설치 채널: 게임 온라인 전에 채널 이름(예: 잉용바오(应用宝), Beans, 91 등)에 따라 다양한 채널 번호의 apk팩을 만들고, apk팩 내 채널 이름이 설치 채널이 됩니다.
WGGetChannelId를 호출해 게임 설치 채널을 반환할 수 있습니다. 인터페이스 상세 설명은 다음과 같음
2) 인터페이스 선언
public static String WGGetChannelId();
3) 파라미터 설명
없음
4) 반환값
반환값 유형 | 설명 |
---|---|
String | 설치 채널 id 반환. 해당 인터페이스 반환값이 비어있을 경우, assets/channel.ini 내 채널번호를 읽어들이고, 게임이 테스트 단계인 경우에는 스스로 채널번호를 assets/channel.ini에 입력해 테스트에 사용합니다. IOS는 plist 내 CHANNEL_DENGTA 필드를 반환 |
5) 예시 코드
String channelId = WGPlatform.WGGetChannelId();
6) 특수 설명
없음
7) 명칭 해석
설치 채널: 게임 온라인 전에 채널 이름(예: 잉용바오(应用宝), Beans, 91 등)에 따라 다양한 채널 번호의 apk팩을 만들고, apk팩 내 채널 이름이 설치 채널이 됩니다.
채널 등록 획득
1 개요 설명
채널 등록 획득
2 콜백
없음
3 인터페이스 호출
1) 기능 설명
채널 등록: 사용자가 위챗 또는 모바일 QQ 플랫폼에서 처음 로그인할 때 채널을 설치하며, 해당 값과 계정이 바인딩된 후 변경이 불가능합니다.
WGGetRegisterChannelId를 이용해 사용자의 등록 채널을 반환할 수 있습니다. 인터페이스 상세 설명은 다음과 같음
2) 인터페이스 선언
public static String WGGetRegisterChannelId();
3) 파라미터 유형
없음
4) 반환값 유형
반환값 유형 | 설명 |
---|---|
String | 등록 채널 id 반환. 예: 2017 |
5) 예시 코드
String registerChannelId = WGPlatform.WGGetRegisterChannelId();
6) 특수 설명
없음
7) 명칭 해석
채널 등록: 사용자가 위챗 또는 모바일 QQ 플랫폼에서 처음 로그인할 때 채널을 설치하며, 해당 값과 계정이 바인딩된 후 변경이 불가능합니다.
사용자 피드백
1 개요 설명
사용자 피드백
2 콜백
없음
3 인터페이스 호출
1) 기능 설명
사용자 피드백: 해당 이벤트 인터페이스를 통해 사용자 피드백을 제공할 수 있으며, 피드백 내용은 http://mcloud.ied.com/queryLogSystem/ceQuery.html?token=545bcbcfada62a4d84d7b0ee8e4b44bf&gameid=0&projectid=ce를 통해 확인할 수 있습니다. 이 기능을 완료하려면 사용하는 인터페이스에 다음 사항이 있어야 합니다.: WGFeedback, 인터페이스 상세 설명은 다음과 같음
2) 인터페이스 선언
public static void WGFeedback(String body);
//3.0.8 이상 버전은 이 2개 파라미터의 인터페이스를 삭제했음
public static void WGFeedback(String gameName,String body);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
gameName | String | 게임 이름 |
body | String | 피드백 내용 |
4) 반환값
없음
5) 예시 코드
WGPlatform.WGFeedback("사용자 체험의 극치에 달하다.");
//3.0.8 이상 버전은 이 2개 파라미터의 인터페이스를 삭제했음
WGPlatform.WGFeedback("MSDK","사용자 체험의 극치에 달하다.");
Deeplink 링크
1 개요 설명
Deeplink 링크
2 콜백
없음
3 인터페이스 호출
1) 기능 설명
Deeplink는 각각 위챗 게임 센터 네이티브 페이지로 이동, 이벤트 페이지, 구체적인 표현 솔루션을 지원하며, 입구 표시는 게임의 실제 상황에 따라 정할 수 있습니다. 게임 센터 네이티브 페이지 포함 내용: 위챗 게임 센터 홈 화면, 위챗 게임 센터 상세 정보 페이지, 위챗 게임 센터 게임 데이터베이스 등. 게임 백그라운드 파라미터 설정을 통해 구현할 수 있습니다. 이벤트 페이지 포함 내용: 게임의 H5 페이지, 게임 백그라운드를 통해 링크 주소 배치 구현.
2) 인터페이스 선언
public static void WGOpenWeiXinDeeplink(String link);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
link | String | 구체적으로 링크 deeplink는, 다음과 같이 입력 가능: INDEX: 위챗 게임 센터 초기 페이지로 이동, DETAIL: 위챗 게임 센터 상세 정보 페이지로 이동, LIBRARY: 위챗 게임 센터 게임 데이터베이스로 이동, 구체적인 링크 url (위챗 게임 센터에서 이 url을 먼저 설정해야 함) |
4) 반환값
없음
5) 예시 코드
WGPlatform.WGOpenWeiXinDeeplink("INDEX");
Tencent 동영상 기동 특권
1 개요 설명
Tencent 동영상 풀업 기능은 MSDK에서 제공하며, 사용자는 Tencent 동영상 앱의 웹페이지 내에서 게임을 풀업해 데이터를 게임 기능으로 전송한 후, Tencent 동영상 기동 게임의 사용자가 포인트 및 경험 추가 등과 같은, Tencent 동영상 및 게임과의 협력에 사용할 수 있습니다.
2 콜백
1) 귀하께서는 Tencent 오픈 플랫폼 상에서 게임 등록을 하시고 심사에 통과하셨거나, 귀하의 Tencent 연락인이 내부 채널을 통해 귀하의 게임 등록을 도와드렸습니다.
2) 이미 MSDK 액세스 설정 모듈 설명에 따라 액세스 설정을 완료하셨습니다.
3) AndroidManifest.xml을 변경해 그 안에 상응하는 설정 항목을 추가해야 하며, qqappid를 귀하의 앱의 qqappid로 변환해야 합니다.
<!-- Tencent 동영상 vip 풀업 설정 -->
<activity
android:name="com.tencent.msdk.SchemeActivity"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 여기에서 tencentvideo+qqappid를 설정하십시오-->
<data android:scheme="tencentvideo100703379" />
</intent-filter>
</activity>
4) OnWakeupNotify 콜백을 구현해야 합니다.
그중에서, Tencent 동영상에서 게임을 풀업할 때, WGPlatformObserver의 OnWakeupNotify(WakeupRet)를 통해 게임에 통지할 수 있고, WakeupRet.platform은 풀업한 게임의 플랫폼을 나타내며, 이때 WakeupRet.platform은 EWakeupPlatform.eWakeupPlatform_TencentVideo입니다. WakeupRet.extInfo은 Vector
3 인터페이스 호출
없음
4) 반환값
없음
5) 예시 코드
public class MsdkCallback implements WGPlatformObserver {
public void OnWakeupNotify(WakeupRet ret) {
Logger.d(ret.toLogString());
MainActivity.platform = ret.platform;
// TODO GAME 게임은 여기서 다른 계정의 논리를 추가 처리해야 함
if (CallbackFlag.eFlag_Succ == ret.flag
|| CallbackFlag.eFlag_AccountRefresh == ret.flag) {
//eFlag_AccountRefresh은 위챗 토큰 새로고침 성공을 나타냄
Logger.d("login success flag:" + ret.flag);
mainActivity.letUserLogin();
if(ret.platform == EWakeupPlatform.eWakeupPlatform_TencentVideo.val()){
String msg = "";
for(KVPair kv : ret.extInfo){
msg = msg + kv.key + ":" + kv.value + "\n";
}
mainActivity.showTipsDialog(“Tencent 동영상에서 클라이언트 기동",msg);
}
} else if (CallbackFlag.eFlag_UrlLogin == ret.flag) {
// 풀업한 계정 로그인을 통한 로그인 결과를 OnLoginNotify() 내에서 콜백
} else if (ret.flag == CallbackFlag.eFlag_NeedSelectAccount) {
// 다른 계정 시에, 게임은 사용자에게 필요한 로그인 계정을 선택하도록 팝업 메시지를 띄워야 함
Logger.d("diff account");
mainActivity.showDiffLogin();
} else if (ret.flag == CallbackFlag.eFlag_NeedLogin) {
// 유효한 토큰이 없을 경우, 게임에서 로그아웃되며 사용자에게 다시 로그인하게 함
Logger.d("need login");
mainActivity.letUserLogout();
if(ret.platform == EWakeupPlatform.eWakeupPlatform_TencentVideo.val()){
String msg = "";
for(KVPair kv : ret.extInfo){
msg = msg + kv.key + ":" + kv.value + "\n";
}
mainActivity.showTipsDialog("Tencent 동영상에서 클라이언트 기동",msg);
}
} else {
Logger.d("logout");
mainActivity.letUserLogout();
}
}