시스템 도구
Unity3D
모바일 QQ, 위챗 설치 여부 확인
모바일 QQ, 위챗 버전 획득
인터페이스 지원 여부 검사
MSDK 버전 획득
채널 설치 획득
채널 등록 획득
사용자 피드백
Deeplink 링크
자주 묻는 질문
Android
모바일 QQ, 위챗 설치 여부 확인
모바일 QQ, 위챗 버전 획득
인터페이스 지원 여부 검사
MSDK 버전 획득
채널 설치 획득
채널 등록 획득
사용자 피드백
Deeplink 링크
자주 묻는 질문
IOS
모바일 QQ, 위챗 설치 여부 확인
모바일 QQ, 위챗 버전 획득
인터페이스 지원 여부 검사
MSDK 버전 획득
채널 설치 획득
채널 등록 획득
사용자 피드백
Deeplink 링크
자주 묻는 질문
기타
데이터 구조
시스템 도구
시스템 도구 / Unity3D / 모바일 QQ, 위챗 설치 여부 확인

사전 요구 사항

이미 msdk unity 액세스 설정 모듈 설명에 따라 액세스 설정

모바일 QQ, 위챗 설치 여부 확인

1 개요 설명

모바일 QQ, 위챗 설치 여부 확인

2 콜백

없음

3 인터페이스 호출

1) 기능 설명

모바일 QQ, 위챗 설치 여부 확인, 액세스에 대한 상세 설명은 아래와 같습니다.

2) 인터페이스 선언
bool WGIsPlatformInstalled(ePlatform platformType);
3) 파라미터 설명
파라미터 이름 파라미터 유형 설명
platform ePlatform 게임을 입력한 플랫폼 유형은 다음 값일 수 있음: ePlatform_QQ, ePlatform_Weixin
4) 반환값
반환값 유형 설명
bool false는 설치되지 않았음을, 그리고 true는 설치되었음을 나타냄
5) 예시 코드
bool installed = WGPlatform.Instance.WGIsPlatformInstalled(ePlatform.ePlatform_QQ);

모바일 QQ, 위챗 버전 획득

1 개요 설명

모바일 QQ, 위챗 버전 획득

2 콜백

없음

3 인터페이스 호출

1) 기능 설명

현재 Android는 모바일QQ, 위챗 버전 획득을 지원합니다. 인터페이스 상세 설명은 다음과 같음

2) 인터페이스 선언
string WGGetPlatformAPPVersion(ePlatform platform);
3) 파라미터 설명
파라미터 명칭 파라미터 유형 설명
platform ePlatform 게임을 입력한 플랫폼 유형은 다음 값일 수 있음: ePlatform_QQ, ePlatform_Weixin
4) 반환값
반환값 유형 설명
string APP 버전
5) 예시 코드
string version = WGPlatform.Instance.WGGetPlatformAPPVersion(ePlatform.ePlatform_QQ);

인터페이스 지원 여부 검사

1 개요 설명

현재의 모바일QQ, 위챗 버전이 임의의 api를 지원하는지 확인합니다.

2 콜백

없음

3 인터페이스 호출

1) 기능 설명

일부 api는 비교적 새로운 모바일QQ, 위챗 버전 하에서만 사용할 수 있습니다. WGCheckApiSupport 인터페이스를 호출해 현재의 모바일QQ, 위챗 버전이 임의의 api를 지원하는지 확인합니다. 인터페이스 상세 설명은 다음과 같음:

2) 인터페이스 선언
bool WGCheckApiSupport(eApiName apiName);
3) 파라미터 설명
파라미터 명칭 파라미터 유형 설명
apiName eApiName 예: eApiName_WGSendToQQWithPhoto,eApiName_WGJoinQQGroup
4) 반환값
반환값 유형 설명
bool false는 비지원, true는 지원을 의미
5) 예시 코드
bool isSupport = WGPlatform.Instance.WGCheckApiSupport((eApiName)api);

MSDK 버전 획득

1 개요 설명

MSDK 버전 획득

2 콜백

없음

3 인터페이스 호출

1) 기능 설명

WGGetVersion 인터페이스를 호출해 MSDK 버전을 회신할 수 있습니다. 인터페이스 상세 설명은 다음과 같음

2) 인터페이스 선언
string WGGetVersion();
3) 파라미터 설명

없음

4) 반환값
반환값 유형 설명
string MSDK 버전. 예: 2.14.5a
5) 예시 코드
string version = WGPlatform.Instance.WGGetVersion()

채널 설치 획득

1 개요 설명

채널 설치 획득
비주: 인증 및 설치 채널 번호 획득 인터페이스 액세스 후에 정상인지 가능한 한 실제 기기를 선택해 인증을 실시합니다. Tencent 모바일 게임 지원 시뮬레이터를 이용해 인증하는 경우, apk를 Tencent 모바일 게임 지원 시뮬레이터 상에 직접 로컬 설치하지 마십시오. 왜냐면, Tencent 모바일 지원 시뮬레이터가 로컬 설치된 apk에 대해 강제로 채널 번호를 100048(본래 채널 번호는 6자리 미만)이나 10004822로 변경할 수 있기 때문입니다.

2 콜백

없음

3 인터페이스 호출

1) 기능 설명

설치 채널: 게임 온라인 전에 채널 이름(예: 잉용바오(应用宝), Beans, 91 등)에 따라 다양한 채널 번호의 apk팩을 만들고, apk팩 내 채널 이름이 설치 채널이 됩니다.

WGGetChannelId를 호출해 게임 설치 채널을 반환할 수 있습니다. 인터페이스 상세 설명은 다음과 같음

2) 인터페이스 선언
string WGGetChannelId();
3) 파라미터 설명

없음

4) 반환값
반환값 유형 설명
string 설치 채널 id 반환. 해당 인터페이스 반환값이 비어있을 경우, assets/channel.ini 내 채널번호를 읽어들이고,
게임이 테스트 단계인 경우에는 스스로 채널번호를 assets/channel.ini에 입력해 테스트에 사용합니다.
IOS는 plist 내 CHANNEL_DENGTA 필드를 반환
5) 예시 코드
string channelId = WGPlatform.Instance.WGGetChannelId();
6) 특수 설명

없음

7) 명칭 해석

설치 채널: 게임 온라인 전에 채널 이름(예: 잉용바오(应用宝), Beans, 91 등)에 따라 다양한 채널 번호의 apk팩을 만들고, apk팩 내 채널 이름이 설치 채널이 됩니다.

채널 등록 획득

1 개요 설명

채널 등록 획득

2 콜백

없음

3 인터페이스 호출

1) 기능 설명

채널 등록: 사용자가 위챗 또는 모바일 QQ 플랫폼에서 처음 로그인할 때 채널을 설치하며, 해당 값과 계정이 바인딩된 후 변경이 불가능합니다.

WGGetRegisterChannelId를 이용해 사용자의 등록 채널을 반환할 수 있습니다. 인터페이스 상세 설명은 다음과 같음

2) 인터페이스 선언
string WGGetRegisterChannelId();
3) 파라미터 유형

없음

4) 반환값 유형
반환값 유형 설명
string 등록 채널 id 반환. 예: 2017
5) 예시 코드
string registerChannelId = WGPlatform.Instance.WGGetRegisterChannelId();
6) 특수 설명

없음

7) 명칭 해석

채널 등록: 사용자가 위챗 또는 모바일 QQ 플랫폼에서 처음 로그인할 때 채널을 설치하며, 해당 값과 계정이 바인딩된 후 변경이 불가능합니다.

사용자 피드백

1 개요 설명

사용자 피드백

2 콜백

없음

3 인터페이스 호출

1) 기능 설명

사용자 피드백: 해당 이벤트 인터페이스를 통해 사용자 피드백을 제공할 수 있으며, 피드백 내용은 http://mcloud.ied.com/queryLogSystem/ceQuery.html?token=545bcbcfada62a4d84d7b0ee8e4b44bf&gameid=0&projectid=ce를 통해 확인할 수 있습니다. 이 기능을 완료하려면 사용하는 인터페이스에 다음 사항이 있어야 합니다.: WGFeedback, 인터페이스 상세 설명은 다음과 같음

2) 인터페이스 선언
void WGFeedback(string body);
3) 파라미터 설명
파라미터 명칭 유형 설명
body String 피드백 내용
4) 반환값

없음

5) 예시 코드
WGPlatform.Instance.WGFeedback("사용자 체험의 극치에 달하다.");

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.Instance.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();

        }

    }