개요
공유 모듈은 게임에 맞춤형 정보의 모바일QQ/위챗 채팅(친구 및 그룹 포함), 스페이스, 모멘트에 공유할 수 있는 기능을 제공하며, 주로 초대, 나눠 갖기, 하트 보내기, 이벤트 공유 등에 활용도비니다. Tencent 관계 사슬의 MSDK 공유 기능을 통해 모바일QQ, 위챗 관계 사슬의 장점을 충분히 발휘할 수 있고 효과적으로 사용자와 접촉할 수 있어, 새로운 가입 및 재방문을 늘리고 게임 활약도를 높이며 게임 플레이 방법을 확장하기에 편리합니다.
공유 방식 및 공유 내용이 다르므로, 공유 환경은 구조화 공유, 음악 공유, 대형 이미지 공유, 백엔드 공유, 링크 공유(위챗 한정), 모바일QQ 공유(Android 한정), 모바일QQ 동영상 공유(Android 한정), 위챗 동영상의 모멘트 및 위챗 미니앱에서의 공유 등으로 분류됩니다.
(./res/share_struct_qq_c.png)
(./res/share_struct_wx_c.png)
이것은 전통적인 왼쪽에 이미지가 있고 오른쪽에 문자가 있는 공유 형식으로, 각 부분의 내용은 아래와 같습니다.
제목: 공유 파라미터 title을 지정하며, 게임은 공유 기능 또는 유형에 따라 자체 정의합니다.
개요: 공유 파라미터 desc를 지정하며, 주로 공유 목적의 간략한 설명에 사용됩니다.
썸네일: 공유 파라미터 imgUrl 또는 imgData를 지정하며, 일반적으로 게임의 icon입니다.
리틀테일(小尾巴): 일반적으로 게임 icon 및 게임 이름으로 구성되며, 클릭하면 게임을 풀하게 되며, 게임 운영 매니저가 모바일QQ, 위챗 게임 센터에 연락할 수 있습니다.
1MSDK 공유 환경 및 공유 목표
1) 구조화 공유
구조화 공유는 모바일QQ/위챗을 풀업해야 채팅 및 QQ 스페이스에서 공유 가능하며 위챗 모멘트에서는 공유할 수 없습니다.
(./res/share_struct_qq.png)
(./res/share_struct_wx.png)
2) 대형 이미지 공유
구조화 공유는 모바일QQ/위챗을 풀업해야 채팅 및 QQ 스페이스에서 공유 가능하며 위챗 모멘트에서는 공유할 수 없습니다.
(./res/share_photo_qq.png)
(./res/share_photo_wx.png)
3) 음악 공유
구조화 공유는 모바일QQ/위챗을 풀업해야 채팅 및 QQ 스페이스에서 공유 가능하며 위챗 모멘트에서는 공유할 수 없습니다. 음악 정보를 클릭하면 직접 음악을 재생하거나 음악 웹페이지로 이동해 재생할 수 있습니다.
4) 백엔드 공유
백엔드 공유는 모바일QQ/위챗을 풀하지 않아도 되며, 직접 게임 내 호출 인터페이스에서 같이 플레이하는 친구들과 공유할 수 있습니다.
1) 위챗의 백엔드 공유 정보는 친구와의 채팅 시에 표시됩니다.
2) 모바일QQ의 백엔드 공유 정보는 모바일QQ의 공공 계정dls “QQ 모바일 게임”에서 타겟 플레이어에게 표시됩니다.
(./res/share_backend_qq.png)
(./res/share_backend_wx.png)
주의: 수신자 측에서 “QQ 모바일 게임” 공공 계정에 주의를 기울여야 수신할 수 있으며, 동일한 사용자가 같은 날에 동일한 게임에서 수신하는 것은 약 20건의 정보입니다.
5) 위챗 링크 공유
위챗 링크 공유는 위챗을 풀업해서 공유해야 하며, 정보를 클릭하면 웹페이지가 열립니다.
(./res/share_url_wx.png)
6) 모바일 QQ 사진(富图) 공유
모바일QQ 사진 공유는 모바일QQ를 풀업하여 다양한 사진을 QQ 스페이스에서 공유할 수 있습니다. 복수의 사진(9장 이하의 사진은 슈어슈어(说说)에 게시, 9장 초과할 경우에는 앨범에 업로드)을 업로드할 수 있으며, gif 이미지도 지원됩니다.
7) 모바일 QQ 동영상 공유
모바일QQ 동영상 공유는 모바일QQ을 풀업하여 로컬 동영상을 QQ 스페이스에서 공유할 수 있습니다.
(./res/share_video.png)
액세스 내비게이션
1 사전 요구 사항
a) 이미 MSDK 액세스 설정 모듈 설명에 따라 액세스 설정
b) 귀하의 게임 공유 권한이 개통되었음을 확인합니다. 게임 등록 후 귀하의 게임 카테고리에 따라 상응하는 권한을 개통하고, 귀하께서 로그인 인터페이스를 호출해 "-303, no permission"을 회신하시려면, MSDK 통합 및 테스트 지원 담당자에게 연락해 주십시오.
c) 사용자 모바일QQ/위챗 인증 등록 확인
2 Demo 예시를 참고하십시오.
모바일QQ 공유 예시는 MSDKDemo/src/com/example/module/submodule/QQModule.java 내 공유 섹션을 참조하십시오.
모바일QQ 공유 예시는 MSDKDemo/src/com/example/module/submodule/WXModule.java 내 공유 섹션을 참조하십시오.
3 이 모듈의 다른 인터페이스 호출
앞의 Step1-Step2 단계를 완료하면 이 모듈에 완벽하게 액세스한 것이 되며, 이 모듈의 다른 인터페이스를 호출할 수 있으며 추가적인 설정은 필요없습니다. 이 모듈의 각 부분에 대한 설명은 다음과 같습니다.
1)구조화 공유: 구조화 공유는 모바일QQ/위챗을 풀업해야 하며, 공유 디스플레이는 왼쪽에 이미지 오른쪽에 문자가 오는 형식입니다.
2)대형 이미지 공유: 대형 이미지 공유는 모바일QQ/위챗을 풀업해야 하며, 공유 디스플레이는 1장의 이미지입니다.
3)음악 공유: 음악 공유는 모바일QQ/위챗을 풀업해야 하며, 공유 디스플레이는 왼쪽에 이미지 오른쪽에 문자가 오는 형식이고, 이미지를 클릭하면 음악을 직접 플레이하거나 링크로 이동해 음악을 재생합니다.
4)백엔드 공유: 백엔드 공유는 모바일QQ/위챗을 풀하지 않아도 되며, 직접 게임 내 호출 인터페이스에서 같이 플레이하는 친구들과 공유할 수 있습니다.
5)위챗 링크 공유: 위챗 링크 공유는 위챗을 풀업해서 공유해야 하며, 정보를 클릭하면 웹페이지가 열립니다.
6)모바일QQ 사진 공유: 모바일QQ 사진 공유는 모바일QQ를 풀업하여 다양한 사진을 QQ 스페이스에서 공유할 수 있습니다.
7)** 모바일QQ 동영상 공유: 모바일QQ 동영상 공유는 모바일QQ을 풀업하여 로컬 동영상을 QQ 스페이스에서 공유할 수 있습니다.
8)모바일QQ 게임 센터 상세 정보 페이지: 모바일QQ 게임 상세 정보 페이지는 모바일QQ에서 프리미엄 게임에 대하여 게임 센터에서 상세 정보 페이지를 디스플레이할 수 있게 해 주는 기능으로, 해당 페이지를 이용해 다운로드, 디스플레이, 게임으로 이동 등의 기능을 제공할 수 있습니다.
9)위챗 게임 존에 공유: 게임이 제공하는 이미지 데이터를 내장 브라우저를 통해 위챗 게임 존에 공유하는 것으로, 현재 이미지 데이터 크기는 512KB를 초과할 수 없습니다.
1 종합 설명
구조화 공유는 모바일QQ/위챗을 풀업해야 채팅 및 QQ 스페이스에서 공유 가능하며 위챗 모멘트에서는 공유할 수 없습니다.
2 콜백
1) 기능 설명
MSDK의 공유 콜백을 수신하려면, 귀하께서는 WGPlatformObserver에 등록하셔서 OnShareNotify를 통해 처리하셔야 합니다.
2) 인터페이스 선언
public static void WGSetObserver(WGPlatformObserver observer);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
observer | WGPlatformObserver 유형 | MSDK 콜백 유형은 예시 코드를 참조하십시오. |
4) 반환값
없음
5) 예시 코드
public class MsdkCallback implements WGPlatformObserver {
public void OnShareNotify(ShareRet ret) {
Logger.d("called");
String result = "";
switch (ret.flag) {
case CallbackFlag.eFlag_Succ:
// 공유 성공
result = "Share success\n" + ret.toString();
break;
case CallbackFlag.eFlag_QQ_UserCancel:
case CallbackFlag.eFlag_WX_UserCancel:
case CallbackFlag.eFlag_WX_NotInstall:
case CallbackFlag.eFlag_WX_NotSupportApi:
default:
// 공유 실패 처리
Logger.d(ret.desc);
result = "Share faild: \n" + ret.toString();
break;
}
// 결과를 결과 표시 인터페이스로 발송
sendResult(result);
}
}
6) 특수 설명
없음
7) 명칭 해석
없음
3 위챗 구조화 공유
1) 기능 설명
WGSendToWeixin 인터페이스를 호출해서 구조화 정보를 위챗 채팅에서 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToWeixin(
String title,
String desc,
String mediaTagName,
byte[] imgData,
int imgDataLen,
String messageExt
String userOpenId
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
title | String | 제목, 512B 초과 불가 |
desc | String | 요약 정보, 1KB 초과 불가 |
mediaTagName | String | 이 값은 위챗 총 통계로 전송되며 다음과 같은 값을 선택 입력할 수 있습니다. " MSG_INVITE” : "MSG_SHARE_MOMENT_HIGH_SCORE” 초대 : 이번 주 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_BEST_SCORE" : 이력 내 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_CROWN" : 금메달을 모멘트에서 공유 "MSG_SHARE_FRIEND_HIGH_SCORE" : 이번 주 베스트를 친구에게 전송 "MSG_SHARE_FRIEND_BEST_SCORE" : 이력 내 베스트를 친구와 공유 "MSG_SHARE_FRIEND_CROWN" : 금메달을 친구와 공유 "MSG_friend_exceed" : 눈부심 초월 "MSG_heart_send" : 하트 보내기 |
imgData | byte[] | 썸네일 파일 데이터 |
imgDataLen | int | 썸네일 데이터 길이, 크기는 32K 초과 불가 |
messageExt | String | 게임 자체 정의 투명 전송 필드는, 아래 특수 설명을 참조하십시오. |
userOpenId | string | 특정 친구에게 공유하도록 지정하면 문자열을 전달할 수 있습니다. 3.3.0 버전은이 매개 변수를 추가하기 시작합니다. |
4) 반환값
없으며, 공유 결과는 WGPlatformObserver 콜백 OnShareNotify 함수를 통해 게임에 회신합니다.
5) 예시 코드
String title = "위챗 공유-title";
String desc = "위챗 공유-desc";
String mediaTagName = "MSG_INVITE";
byte[] imgData = imgData;
int imgDataLen = imgData.Length;
String extinfo = "SendToWeixin_extInfo";
String userOpenId= "";
WGPlatform.WGSendToWeixin (title, desc, mediaTagName, imgData, imgDataLen, messageExt, userOpenId);
특수 설명
파라미터 messageExt는 공유 후에 플레이어가 클릭했을 때 게임으로 돌아갈 수 있습니다. 구체적인 과정: 플레이어 A가 위챗 정보(messageExt 파라미터 보유)를 플레이어B와 공유하고, 플레이어B가 클릭해 수신하는 이 정보로 게임을 풀하면, 플레이어B의 게임 클라이언트는 콜백 이벤트OnWakeupNotify(WakeupRet wakeupRet)를 수신하고, OnWakeupNotify의 wakeupRet.messageExt는 플레이어A가 공유할 때 전달한 messageExt 파라미터가 됩니다. OnWakeupNotify의 등록은 다른 계정 처리를 참조하십시오.
7) 명칭 해석
없음
4 모바일QQ Android 구조화 공유
1) 기능 설명
WGSendToQQ 인터페이스를 호출해 구조화 정보를 모바일QQ 채팅, 스페이스에서 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToQQ(
eQQScene scene,
String title,
String desc,
String targetUrl,
String imgUrl,
int imgUrlLen
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eQQScene 열거 | 모바일QQ 또는 Qzone에 로고 발송 |
title | String | 제목, 80B 초과 불가 |
desc | String | 요약 정보, 130바이트 초과 불가 |
targetUrl | String | 콘텐츠 이동 링크 Url, 120B 미만을 권장하며 초과할 경우 비교적 긴 url에 대해 링크 단축 처리를 합니다. |
imgUrl | String | 공유 정보 썸네일 Url, 로컬 경로 또는 네트워크 Url |
imgUrlLen | int | 공유 썸네일 Url 길이 공유 |
4) 반환값
없으며, 공유 결과는 WGPlatformObserver 콜백 OnShareNotify 함수를 통해 게임에 회신합니다.
5) 예시 코드
String title = "QQ 공유-title";
String desc = "QQ 공유-desc";
String imgNetUrl = "http://qzonestyle.gtimg.cn/open_proj/proj_open_v2/ac/home/qrcode.jpg";
String targetUrl = "http://gamecenter.qq.com/gcjump?game_tag=MSG_INVITE&plat=qq&pf=invite" +
"&appid=100703379&from=androidqq&"+"uin=182849215&originuin=61793295&platformId=qq_m" +
"&sid=Ac0o-208NGD3k3FNCv3J4Q4f&gamedata=gamedata&platformdata=platformdata";
WGPlatform.WGSendToQQ (eQQScene.QQScene_QZone, title, desc, targetUrl, imgNetUrl, imgNetUrl.Length);
6) 특수 설명
-
targetUrl은 모바일QQ 게임 센터 상세 정보 페이지 링크를 입력할 경우, 정보를 클릭하면 게임을 풀업하여 자체 정의 파라미터로 돌아갈 수 있습니다. 상세 정보는 [모바일QQ 게임 센터 상세 정보 페이지)#Android_QGameCenter)를 참조하십시오.
-
imgUrl이 로컬 이미지 경로일 경우, 이 로컬 이미지는, sdcard 저장 영역(/storage/sdcard0)과 같은 모바일QQ/위챗에서 방문 가능한 위치에 둘 수 있습니다.
7) 명칭 해석
없음
5 고급 용법
1) 기능 설명
게임은 구조화 정보 공유 시에 일련의 자체 정의 정보(문자열)를 추가할 수 있으며, 다른 플레이어가 이 정보를 클릭하면 게임을 자동으로 풀업하여 추가한 자체 정의 정보를 OnWakeupNotify를 통해 게임에 투명 전송할 수 있습니다. 이 기능은 오프라인 친구 배틀에 사용할 수 있으며, 전투 룸에 신속히 진입해 게임을 플레이할 수 있습니다. 예:
- 플레이어A가 1개의 배틀 룸11을 개설하고 이때 플레이어B는 오프라인임
- A는 1개의 QQ/Wechat 구조화 정보(룸 번호 11 및 A의 openid emd와 같은 자체 정의 정보 추가)를 B와 공유합니다.
- B가 QQ/WeChat 내에서 이 정보를 클릭하면, 이때 게임을 풀업하여 추가한 정보(룸 번호 11 및 A의 openid 등)를 게임 클라이언트와 공유할 수 있습니다.
- 게임은 추가한 룸 번호 11 및 A의 openid 등의 정보에 근거해, B로 하여금 A의 배틀 룸 11에 신속히 진입하게 하고, 두 플레이어는 배틀을 시작할 수 있습니다.
2) 파라미터 설명
WeChat은 인터페이스 WGSendToWeixin 내의 messageExt 파라미터를 통해 자체 정의 정보를 투명 전송할 수 있습니다.
QQ는 인터페이스 WGSendToQQ 내 targetUrl을 통해 게임 센터 상세 정보 페이지의 Url로 설정하고 gamedata 파라미터를 추가해 자체 정의 정보를 투명 전송할 수 있습니다. 예:
게임 센터 상세 정보 페이지 Url:
http://gamecenter.qq.com/gcjump?appid=100703379&pf=invite&from=androidqq&
plat=qq&originuin=111&ADTAG=gameobj.msg_invite
Url 내에 자체 정의 정보 ”CustomData”를 추가합니다.
http://gamecenter.qq.com/gcjump?appid=100703379&pf=invite&from=androidqq&
plat=qq&originuin=111&ADTAG=gameobj.msg_invite&gamedata=CustomData
3) 예시 코드
구조화 정보 공유 및 자체 정의 정보 추가:
WGPlatform.WGSendToQQ (eQQScene.QQScene_Session, title, desc, targetUrl, imgLocalUrl, imgLocalUrl.Length);
정보 공유 시작을 클릭해 추가한 자체 정의 정보를 수신 및 처리합니다.
public class MsdkCallback implements WGPlatformObserver {
public void OnWakeupNotify(WakeupRet ret) {
//ret.extInfo 모든 플랫폼에서 전달되는 정보 저장
}
}
1 종합 설명
구조화 공유는 모바일QQ/위챗을 풀업해야 채팅 및 QQ 스페이스에서 공유 가능하며 위챗 모멘트에서는 공유할 수 없습니다.
2 콜백
구조화 공유 콜백
3 위챗 대형 이미지 공유 - 이미지 데이터
1) 기능 설명
WGSendToWeixinWithPhoto 인터페이스를 호출해 대형 이미지 정보를 위챗 채팅, 모멘트에서 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToWeixinWithPhoto(
eWechatScene scene,
String mediaTagName,
byte[] imgData,
int imgDataLen,
String messageExt,
String messageAction
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eWechatScene枚举 | 위챗 채팅 또는 모멘트에 로고 발송 |
mediaTagName | String | 이 값은 위챗 총 통계로 전송되며 다음과 같은 값을 선택 입력할 수 있습니다. " MSG_INVITE” : "MSG_SHARE_MOMENT_HIGH_SCORE” 초대 : 이번 주 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_BEST_SCORE" : 이력 내 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_CROWN" : 금메달을 모멘트에서 공유 "MSG_SHARE_FRIEND_HIGH_SCORE" : 이번 주 베스트를 친구에게 전송 "MSG_SHARE_FRIEND_BEST_SCORE" : 이력 내 베스트를 친구와 공유 "MSG_SHARE_FRIEND_CROWN" : 금메달을 친구와 공유 "MSG_friend_exceed" : 눈부심 초월 "MSG_heart_send" : 하트 보내기 |
imgData | byte[] | 썸네일 파일 데이터 |
imgDataLen | int | 썸네일 데이터 길이, 크기는 32K 초과 불가 |
messageExt | String | 게임 자체 정의 투명 전송 필드는, 구조화 공유의 특수 설명 |
messageAction | String | 위챗 모멘트와 공유할 때의 샤오웨이바(小尾巴) 버튼을 정의합니다. " WECHAT_SNS_JUMP_SHOWRANK" : 순위(게임 센터 상세 정보 페이지) 검색 "WECHAT_SNS_JUMP_URL" : 상세 정보 검색(게임 센터 설정 링크를 연다) "WECHAT_SNS_JUMP_APP" : 플레이하기(게임으로 이동) 게임에서 액션을 자체 정의할 수 있으며, 위챗 측에 연락해 상응하는 행위를 설정할 필요가 있습니다. |
4) 반환값
없으며, 공유 결과는 WGPlatformObserver 콜백 OnShareNotify 함수를 통해 게임에 회신합니다.
5) 예시 코드
String title = "위챗 공유-title";
String desc = "위챗 공유-desc";
String mediaTagName = "MSG_INVITE";
byte[] imgData = imgData;
int imgDataLen = imgData.Length;
String messageExt = "SendToWeixin_extInfo";
String messageAction = "WECHAT_SNS_JUMP_APP";
WGPlatform.WGSendToWeixinWithPhoto(eWechatScene.WechatScene_Session, mediaTagName, imgData, imgDataLen, messageExt, messageAction);
6) 특수 설명
없음
7) 명칭 해석
없음
4 위챗 Android 대형 이미지 공유 - 이미지 경로
1) 기능 설명
Android 플랫폼에서 이미지 데이터의 대형 이미지 공유할 경우, 대형 이미지 데이터가 11MB를 초과할 경우, 일부 모델에서는 공유에 실패할 수 있으며, WGSendToWeixinWithPhotoPath 인터페이스를 사용해 고해상도 대형 이미지를 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToWeixinWithPhotoPath(
eWechatScene scene,
String mediaTagName,
String imgPath,
String messageExt,
String messageAction
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eWechatScene枚举 | 위챗 채팅 또는 모멘트에 로고 발송 |
mediaTagName | String | 이 값은 위챗 총 통계로 전송되며 다음과 같은 값을 선택 입력할 수 있습니다. " MSG_INVITE” : "MSG_SHARE_MOMENT_HIGH_SCORE” 초대 : 이번 주 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_BEST_SCORE" : 이력 내 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_CROWN" : 금메달을 모멘트에서 공유 "MSG_SHARE_FRIEND_HIGH_SCORE" : 이번 주 베스트를 친구에게 전송 "MSG_SHARE_FRIEND_BEST_SCORE" : 이력 내 베스트를 친구와 공유 "MSG_SHARE_FRIEND_CROWN" : 금메달을 친구와 공유 "MSG_friend_exceed" : 눈부심 초월 "MSG_heart_send" : 하트 보내기 |
imgPath | String | 로컬 이미지 경로, 이미지 크기는 3MB 초과 불가 |
messageExt | String | 게임 자체 정의 투명 전송 필드는, 구조화 공유의 특수 설명 |
messageAction | String | 위챗 모멘트와 공유할 때의 샤오웨이바(小尾巴) 버튼을 정의합니다. " WECHAT_SNS_JUMP_SHOWRANK" : 순위(게임 센터 상세 정보 페이지) 검색 "WECHAT_SNS_JUMP_URL" : 상세 정보 검색(게임 센터 설정 링크를 연다) "WECHAT_SNS_JUMP_APP" : 플레이하기(게임으로 이동) |
4) 반환값
없으며, 공유 결과는 WGPlatformObserver 콜백 OnShareNotify 함수를 통해 게임에 회신합니다.
5) 예시 코드
String mediaTagName = "MSG_INVITE";
String imgLocalUrl = "/storage/sdcard0/test.png";
String messageExt = "SendToWeixin_extInfo";
String messageAction = "WECHAT_SNS_JUMP_APP";
WGPlatform.WGSendToWeixinWithPhotoPath(eWechatScene.WechatScene_Session, mediaTagName, imgLocalUrl, messageExt, messageAction);
6) 특수 설명
없음
7) 명칭 해석
없음
5 모바일QQ Android 대형 이미지 공유
1) 기능 설명
WGSendToQQWithPhoto 인터페이스를 호출해 대형 이미지 정보를 모바일QQ 채팅, 스페이스에서 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToQQWithPhoto(eQQScene scene, String imgFilePath);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eQQScene 열거 | 모바일QQ 또는 Qzone에 로고 발송 |
imgFilePath | String | 공유 이미지의 로컬 파일 경로, 이미지의 가장 짧은 변이 640px을 초과할 경우, 백그라운드에서 이미지를 압축하게 될 수 있습니다. |
4) 반환값
없으며, 공유 결과는 WGPlatformObserver 콜백 OnShareNotify 함수를 통해 게임에 회신합니다.
5) 예시 코드
String imgLocalUrl = "/storage/sdcard0/test.png";
WGPlatform.WGSendToQQWithPhoto (eQQScene.QQScene_Session, imgLocalUrl);
6) 특수 설명
imgFilePath는 로컬 이미지 경로일 경우, 이 로컬 이미지는, sdcard 저장 영역(/storage/sdcard0)과 같은 모바일QQ에서 방문 가능한 위치에 둘 수 있습니다.
7) 명칭 해석
없음
모바일QQ Android 대형 이미지 공유는 자체 정의 파라미터를 보유합니다.
1) 기능 설명
대형 이미지의 스페이스 공유 기능에 있어, 모바일QQ 스페이스 측은 입력 콘텐츠에 대해, 사용자가 보게 되는 리틀테일에 대해 맞춤화하도록 요구하고 있습니다. 맞춤화 처리 결과를 구현합니다.
2) 인터페이스 선언
void WGSendToQQWithPhoto(const eQQScene &scene,
ImageParams &imageParams,
const unsigned char *extraScene,
const unsigned char *messageExt);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eQQScene 열거 | 공유 화경은, 현재 QQ스페이스QQScene_QZone만 지원됩니다. |
imageParams | ImageParams | 이 struct는 android, ios 상의 대응하는 필드가 다릅니다. android는 이미지 경로: android_imagePath를 입력해야 합니다. |
extraScene | unsigned char* | 구분 공유하는 환경은, 리틀 테일 디스플레이 차별화와 feeds 클릭 행위에 사용됩니다. |
messageExt | unsigned char* | 게임 자체 정의 필드는, 정보 공유를 클릭해 게임으로 돌아갈 때 게임으로 투명 전송할 수 있으며, 불필요한 경우에는 빈 문자열을 넣을 수 있습니다. |
4) 반환값
없으며, 공유 결과는 OnShareNotify
콜백을 통해 게임에 반환합니다.
5) 예시 코드
UIImage *image = [UIImage imageNamed:@"treasure.jpg"];
NSData *data = UIImageJPEGRepresentation(image, 1.0);
ImageParams imageParam;
imageParam.ios_imageData = (unsigned char *)[data bytes];
imageParam.ios_imageDataLen = (int)[data length];
WGPlatform::GetInstance()->WGSendToQQWithPhoto(QQScene_QZone, imageParam,(unsigned char *)"MESSAGE_ACTION_SNS_CANVAS#Honor=1" , (unsigned char *) "스페이스 추가 파라미터 보유");
6) 특수 설명
주의: 사용하는 것이 android의 java 인터페이스에 대응하는 함수 WGSendToQQWithPhoto(eQQScene scene,String imgFilePath,String extraScene,String messageExt)일 경우, 그중 imgFilePath는 이미지 경로를 입력하십시오.
7) 용어 해석
없음
1 종합 설명
백엔드 공유는 모바일QQ/위챗을 풀하지 않아도 되며, 직접 게임 내 호출 인터페이스에서 같이 플레이하는 친구들과 공유할 수 있습니다.
2 콜백
구조화 공유 콜백
3 위챗 백엔드 공유
1) 기능 설명
WGSendToWXGameFriend 인터페이스를 호출해서 정보를 위챗 채팅(주의: java는 c++ 인터페이스 파라미터와 순서가 다름)에서 공유할 수 있습니다.
2) 인터페이스 선언
// c++ 인터페이스
bool WGSendToWXGameFriend(
String fOpenId,
String title,
String desc,
String mediaId,
String messageExt,
String mediaTagName,
String msdkExtInfo
);
// java 인터페이스
public static boolean WGSendToWXGameFriend(
String fOpenId,
String title,
String desc,
String messageExt,
String mediaTagName,
String mediaId,
String msdkExtInfo)
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
fOpenId | String | 타겟 플레이어의 openid 공유 |
title | String | 타이틀 |
desc | String | 정보 개요 |
mediaId | String | 정보 사진의 id, 서버 클라이언트 인터페이스/share/upload_wx을 통해 획득해 공백을 입력하면 기본값은 게임 icon이 됩니다. |
messageExt | String | 게임 자체 정의 투명 전송 필드는, 구조화 공유의 특수 설명 |
mediaTagName | String | 이 값은 위챗 총 통계로 전송되며 다음과 같은 값을 선택 입력할 수 있습니다. " MSG_INVITE” : "MSG_SHARE_MOMENT_HIGH_SCORE” 초대 : 이번 주 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_BEST_SCORE" : 이력 내 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_CROWN" : 금메달을 모멘트에서 공유 "MSG_SHARE_FRIEND_HIGH_SCORE" : 이번 주 베스트를 친구에게 전송 "MSG_SHARE_FRIEND_BEST_SCORE" : 이력 내 베스트를 친구와 공유 "MSG_SHARE_FRIEND_CROWN" : 금메달을 친구와 공유 "MSG_friend_exceed" : 눈부심 초월 "MSG_heart_send" : 하트 보내기 |
msdkExtInfo | String | 게임 자체 정의 투명 전송 필드는, WGPlatformObserver 내 shareRet.extInfo 공유 콜백을 통해 게임에 회신합니다. |
4) 반환값
false: 파라미터가 옳지 않아 공유 요청을 보낼 수 없음, true: 공유 요청 발송 성공.
공유 결과는 WGPlatformObserver를 통해 게임에 회신합니다.
5) 예시 코드
String openid= "oGRTijtmfQK5iU9-QQ4Jx-7cvrwA";
String title = "WX 공유-title";
String desc = "WX 공유-desc";
String mediaId = "";
String mediaTagName = "MSG_INVITE";
String messageExt = "messageExt";
String msdkExtInfo = "msdkExtInfo";
WGPlatform.WGSendToWXGameFriend(openid, title, desc, mediaId, messageExt, mediaTagName, msdkExtInfo);
6) 특수 설명
없음
7) 명칭 해석
없음
4 모바일QQ 백엔드 공유
1) 기능 설명
WGSendToQQGameFriend 인터페이스를 호출해 정보를 모바일QQ 공공 계정인 “QQ모바일 게임”을 통해 대상 사용자와 공유할 수 있습니다.
비주: 공유하는 콘텐츠는 모바일QQ 상에 있어야 볼 수 있으며, PC QQ 상에서는 볼 수 없습니다. 수신자 측에서 “QQ 모바일 게임” 공공 계정에 주의를 기울여야 수신할 수 있으며, 동일한 사용자가 매일 최대 5건을 받을 수 있고, 동일한 사용자에게서 수신하는 것은 매일 최대 3건입니다.
모바일QQ 백엔드 공유는 새로운 액세스 절차를 제공하며, 새 게임 액세스 시에 다음 절차에 따라 액세스(이미 온라인된 게임에 영향 없음)하며, 다음 절차는 모두 Tencent의 대응하는 인터페이스 인원에게 연락해 도킹해야 합니다.
(1) 백엔드 공유 권한 개통 신청
(2) 이미지 및 문안을 v_diqicai(蔡迪琪: 차이디치)에 제공
(3) appid 및 gametag를 AMS 절차에 새롭게 추가하고, v_diqicai(蔡迪琪: 차이디치)에 연락해 등록
(4) v_diqicai(蔡迪琪: 차이디치)에 연락해 1개의 테스트용 게임 센터 상세 정보 페이지(이후에 정식 상세 정보 페이지로 수정 가능)
(5) 인터페이스 액세스 완료 후 공유 성공 여부 검증
2) 인터페이스 선언
bool WGSendToQQGameFriend(
int act,
String fOpenid,
String title,
String desc,
String targetUrl,
String imgUrl,
String previewText,
String gameTag,
String msdkExtInfo
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
act | int | 정보 공유 액션 클릭, 1 게임을 풀업함, 현재 게임 풀업으로 통일됨 |
fOpenId | String | 타겟 플레이어의 openid 공유 |
title | String | 제목, 80B 초과 불가 |
desc | String | 요약 정보, 130바이트 초과 불가 |
targetUrl | String | 게임 센터 상세 정보 페이지 주소와 설정의 통일은, http://wiki.msdk.qq.com/Android/share.html#Android_QGameCenter를 참조해 주십시오. |
imageUrl | String | 썸네일 Url 공유, 네트워크 이미지 Url만 될 수 있음 |
previewText | String | 문자 미리보기 선택 가능, 45B 초과 불가 |
gameTag | String | 표식 정보 카테고리 선택 가능. " MSG_INVITE": 초청 "MSG_FRIEND_EXCEED": 초과분 나눠 갖기 "MSG_HEART_SEND": 하트 보내기 "MSG_SHARE_FRIEND_PVP" : PVP 배틀 |
4) 반환값
false: 파라미터가 옳지 않아 공유 요청을 보낼 수 없음, true: 공유 요청 발송 성공. 공유 결과는 WGPlatformObserver를 통해 게임에 회신합니다.
5) 예시 코드
String openid = "D51F963BA3E2571ABD8244D95F9B9AD0";
String title = "QQ 공유-title";
String desc = "QQ 공유-desc";
String previewText = "";
String gameTag = "MSG_FRIEND_EXCEED";
String msdkExtInfo = "msdkExtInfo";
String imgNetUrl = "http://qzonestyle.gtimg.cn/open_proj/proj_open_v2/ac/home/qrcode.jpg";
String targetUrl = "http://gamecenter.qq.com/gcjump?game_tag=MSG_INVITE&plat=qq&pf=invite&" +
"appid=100703379&from=androidqq&"+"uin=182849215&originuin=61793295&platformId=qq_m&" +
"sid=Ac0o-208NGD3k3FNCv3J4Q4f&gamedata=gamedata&platformdata=platformdata";
WGPlatform.WGSendToQQGameFriend (1, openid, title, desc, targetUrl, imgNetUrl, previewText, gameTag, msdkExtInfo);
6) 특수 설명
수신자 측에서 “QQ 모바일 게임” 공공 계정에 주의를 기울여야 수신할 수 있으며, 동일한 사용자가 같은 날에 동일한 게임에서 수신하는 것은 약 20건의 정보입니다.
7) 명칭 해석
없음
백엔드 그룹 공유
1 종합 설명
게임 길드/연맹 내에서 사용자는 구조화 정보를 위챗 길드 그룹과 직접 공유할 수 있습니다. 게임에서 해당 인터페이스에 기초해 일련의 라화(拉活) 앱의 솔루션을 만듭니다. 호출 인터페이스는 WGSendToWXGroup이며, 결과는 일반적인 ShareEvent 공유를 통해 게임에 콜백합니다.
2 콜백
구조화 공유 콜백
3 백엔드를 위챗 그룹에서 공유
1) 기능 설명
이 인터페이스는 위챗 풀업을 필요로 하지 않으며, 플레이어가 이미 가입한 길드 위챗 그룹에서 직접 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToWXGroup(
int msgType,
int subType,
String unionid,
String title,
String description,
String messageExt,
String mediaTagName,
String imgUrl,
String msdkExtInfo
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
msgType | int | 정보 유형, 현재 전송1 |
subType | int | 공유 유형, 초대 1 입력, 나눠 갖기 2 입력, 보너스 3 입력, 요청 4 입력 |
unionid | string | 길드 ID |
title | string | 공유하는 타이틀 |
description | string | 공유하는 개요 |
messageExt | string | 게임 자체 정의 투명 전송 필드는, 구조화 공유의 특수 설명 |
mediaTagName | string | 이 값은 위챗 총 통계로 전송되며 다음과 같은 값을 선택 입력할 수 있습니다. " MSG_INVITE” : "MSG_SHARE_MOMENT_HIGH_SCORE” 초대 : 이번 주 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_BEST_SCORE" : 이력 내 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_CROWN" : 금메달을 모멘트에서 공유 "MSG_SHARE_FRIEND_HIGH_SCORE" : 이번 주 베스트를 친구에게 전송 "MSG_SHARE_FRIEND_BEST_SCORE" : 이력 내 베스트를 친구와 공유 "MSG_SHARE_FRIEND_CROWN" : 금메달을 친구와 공유 "MSG_friend_exceed" : 눈부심 초월 "MSG_heart_send" : 하트 보내기 |
imgUrl | string | 썸네일 URL 공유 |
msdkExtInfo | string | 게임 자체 정의 투명 전송 필드는, 공유 결과 shareRet.extInfo를 통해 게임에 회신합니다. |
4) 반환값
없으며, 공유 결과는 ShareEvent 콜백을 통해 게임에 반환합니다.
5) 예시 코드
String unionId = "110";
String title = "WX 공유-title";
String desc = "WX 공유-desc";
String messageExt = "messageExt";
String mediaTagName = "MSG_INVITE";
String imgNetUrl = "http://qzonestyle.gtimg.cn/open_proj/proj_open_v2/ac/home/qrcode.jpg";
String msdkExtInfo = "msdkExtInfo";
WGPlatform.WGSendToWXGroup(1, 1, unionId, title, desc, messageExt, mediaTagName, imgNetUrl, msdkExtInfo);
6) 특수 설명
1) 인터페이스는 길드 id를 참조해야 하므로 이 길드는 위챗 그룹에 바인딩되어야 정보를 공유할 수 있습니다. 2) 이 플레이어는 먼저 길드 그룹에 가입해야 정보를 공유할 수 있습니다. 상세 정보는 그룹 모듈
7) 명칭 해석
없음
1 종합 설명
구조화 공유는 모바일QQ/위챗을 풀업해야 채팅 및 QQ 스페이스에서 공유 가능하며 위챗 모멘트에서는 공유할 수 없습니다. 음악 정보를 클릭하면 직접 음악을 재생하거나 음악 웹페이지로 이동해 재생할 수 있습니다.
2 콜백
구조화 공유 콜백
3 위챗 음악 공유
1) 기능 설명
WGSendToWeixinWithMusic 인터페이스를 호출해 음악 정보를 위챗 채팅과 모멘트에서 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToWeixinWithMusic(
eWechatScene scene,
String title,
String desc,
String musicUrl,
String musicDataUrl,
String mediaTagName,
byte[] imgData,
int imgDataLen,
String messageExt,
String messageAction
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eWechatScene枚举 | 위챗 채팅 또는 모멘트에 로고 발송 |
title | String | 제목, 512B 초과 불가 |
desc | String | 요약 정보, 1KB 초과 불가 |
musicUrl | String | 정보 클릭 후에 이동하는 Url, 길이는 10K 초과 불가 |
musicDataUrl | String | 음악 데이터 Url(예: http:// ***.mp3), 길이는 10K 초과 불가 |
mediaTagName | String | 이 값은 위챗 총 통계로 전송되며 다음과 같은 값을 선택 입력할 수 있습니다. " MSG_INVITE” : "MSG_SHARE_MOMENT_HIGH_SCORE” 초대 : 이번 주 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_BEST_SCORE" : 이력 내 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_CROWN" : 금메달을 모멘트에서 공유 "MSG_SHARE_FRIEND_HIGH_SCORE" : 이번 주 베스트를 친구에게 전송 "MSG_SHARE_FRIEND_BEST_SCORE" : 이력 내 베스트를 친구와 공유 "MSG_SHARE_FRIEND_CROWN" : 금메달을 친구와 공유 "MSG_friend_exceed" : 눈부심 초월 "MSG_heart_send" : 하트 보내기 |
imgData | byte[] | 썸네일 파일 데이터 |
imgDataLen | int | 썸네일 데이터 길이, 크기는 32K 초과 불가 |
messageExt | String | 게임 자체 정의 투명 전송 필드는, 구조화 공유의 특수 설명 |
messageAction | String | 위챗 모멘트와 공유할 때의 샤오웨이바(小尾巴) 버튼을 정의합니다. " WECHAT_SNS_JUMP_SHOWRANK" : 순위(게임 센터 상세 정보 페이지) 검색 "WECHAT_SNS_JUMP_URL" : 상세 정보 검색(게임 센터 설정 링크를 연다) "WECHAT_SNS_JUMP_APP" : 플레이하기(게임으로 이동) |
4) 반환값
공유 결과는 WGPlatformObserver를 통해 게임에 회신합니다.
5) 예시 코드
String title = "WX 공유-title";
String desc = "WX 공유-desc";
String mediaTagName = "MSG_INVITE";
String messageExt = "messageExt";
String messageAction = "WECHAT_SNS_JUMP_URL";
String musicUrl = "http://y.qq.com/i/song.html?songid=1135734&source=qq";
String musicDataUrl = "http://wiki.dev.4g.qq.com/v2/cry.mp3";
WGPlatform.WGSendToWeixinWithMusic(eWechatScene.WechatScene_Session, title, desc, musicUrl, musicDataUrl, mediaTagName, imgData, imgData.Length, messageExt, messageAction);
6) 특수 설명
없음
7) 명칭 해석
없음
4 모바일QQ 음악 공유
1) 기능 설명
WGSendToQQWithMusic 인터페이스를 호출해 음악 정보를 모바일QQ 채팅과 스페이스에서 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToQQWithMusic(
eQQScene scene,
String title,
String desc,
String musicUrl,
String musicDataUrl,
String imgUrl
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eQQScene 열거 | 모바일QQ 또는 Qzone에 로고 발송 |
title | String | 제목, 80B 초과 불가 |
desc | String | 요약 정보, 130바이트 초과 불가 |
musicUrl | String | 정보 클릭 후에 이동하는 Url |
musicDataUrl | String | 음악 데이터 Url(ㅇ: http:// ***.mp3) |
imgUrl | String | 공유 정보 썸네일 Url, 로컬 경로 또는 네트워크 Url |
4) 반환값
공유 결과는 WGPlatformObserver를 통해 게임에 회신합니다.
5) 예시 코드
String title = "QQ 공유-title";
String desc = "QQ 공유-desc";
String imgNetUrl = "http://qzonestyle.gtimg.cn/open_proj/proj_open_v2/ac/home/qrcode.jpg";
String musicUrl = "http://y.qq.com/i/song.html?songid=1135734&source=qq";
String musicDataUrl = "http://wiki.dev.4g.qq.com/v2/cry.mp3";
WGPlatform.WGSendToQQWithMusic(eQQScene.QQScene_QZone,title, desc, musicUrl, musicDataUrl, imgNetUrl);
6) 특수 설명
imgUrl이 로컬 이미지 경로일 경우, 이 로컬 이미지는, sdcard 저장 영역(/storage/sdcard0)과 같은 모바일QQ에서 방문 가능한 위치에 둘 수 있습니다.
7) 명칭 해석
없음
1 종합 설명
위챗 링크 공유는 위챗을 풀업해서 공유해야 하며, 정보를 클릭하면 웹페이지가 열립니다.
2 콜백
구조화 공유 콜백
3 위챗 링크 공유
1) 기능 설명
WGSendToWeixinWithUrl 인터페이스를 호출해 음악 정보를 위챗 채팅과 모멘트에서 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToWeixinWithUrl(
eWechatScene scene,
String title,
String desc,
String url,
String mediaTagName,
byte[] imgData,
int imgDataLen,
String messageExt
String userOpenId
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eWechatScene枚举 | 위챗 채팅 또는 모멘트에 로고 발송 |
title | String | 제목, 512B 초과 불가 |
desc | String | 요약 정보, 1KB 초과 불가 |
url | String | 클릭해 열 수 있는 대상 Url, 길이 10KB 초과 불가 |
mediaTagName | String | 이 값은 위챗 총 통계로 전송되며 다음과 같은 값을 선택 입력할 수 있습니다. " MSG_INVITE” : "MSG_SHARE_MOMENT_HIGH_SCORE” 초대 : 이번 주 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_BEST_SCORE" : 이력 내 베스트를 모멘트에서 공유 "MSG_SHARE_MOMENT_CROWN" : 금메달을 모멘트에서 공유 "MSG_SHARE_FRIEND_HIGH_SCORE" : 이번 주 베스트를 친구에게 전송 "MSG_SHARE_FRIEND_BEST_SCORE" : 이력 내 베스트를 친구와 공유 "MSG_SHARE_FRIEND_CROWN" : 금메달을 친구와 공유 "MSG_friend_exceed" : 눈부심 초월 "MSG_heart_send" : 하트 보내기 |
imgData | byte[] | 썸네일 파일 데이터 |
imgDataLen | int | 썸네일 데이터 길이, 크기는 32K 초과 불가 |
messageExt | String | 게임 자체 정의 투명 전송 필드는, 구조화 공유의 특수 설명 |
userOpenId | string | 특정 친구에게 공유하도록 지정하면 문자열을 전달할 수 있습니다. 3.3.0 버전은이 매개 변수를 추가하기 시작합니다. |
4) 반환값
공유 결과는 WGPlatformObserver를 통해 게임에 회신합니다.
5) 예시 코드
String title = "WX 공유-title";
String desc = "WX 공유-desc";
String mediaTagName = "MSG_INVITE";
String messageExt = "messageExt";
String targetUrl = "http://www.qq.com";
String userOpenId= "";
WGPlatform.WGSendToWeixinWithUrl(eWechatScene.WechatScene_Timeline, title, desc,
targetUrl, mediaTagName, imgData, imgData.Length, messageExt, userOpenId);
6) 특수 설명
없음
7) 명칭 해석
없음
1 종합 설명
모바일QQ 사진 공유는 모바일QQ를 풀업하여 다양한 사진을 QQ 스페이스에서 공유할 수 있습니다. 복수의 사진(9장 이하의 사진은 슈어슈어(说说)에 게시, 9장 초과할 경우에는 앨범에 업로드)을 업로드할 수 있으며, gif 이미지도 지원됩니다.
2 콜백
구조화 공유 콜백
3 모바일 QQ 사진(富图) 공유
1) 기능 설명
WGSendToQQWithRichPhoto 인터페이스 호출을 통해 모바일QQ를 풀업한 후 여러 장의 이미지(gif 애니메이션 포함)를 QQ스페이스에 업로드할 수 있습니다.
2) 인터페이스 선언
void WGSendToQQWithRichPhoto(String summary, ArrayList imgs);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
summary | String | 공유하는 본문, 이 파라미터는 현재 유효하지 않음 |
imgs | ArrayList | 공유하는 여러 장의 이미지 그룹은, 로컬 이미지만 지원하며, 모바일QQ 클라이언트 버전이 5.9.5 이상이어야 합니다. |
4) 반환값
공유 결과는 WGPlatformObserver를 통해 게임에 회신합니다.
5) 예시 코드
String img1 = "/storage/sdcard0/test.png";
String img2 = "/storage/sdcard0/test2.png";
String img3 = "/storage/sdcard0/test3.png";
ArrayList imgs = new ArrayList();
imgs.Add(img1);
imgs.Add(img2);
imgs.Add(img3);
String summary = "내 게임 최고의 순간";
WGPlatform.WGSendToQQWithRichPhoto(summary, imgs);
6) 특수 설명
이미지 그룹 내 로컬 이미지는 sdcard 저장 영역(/storage/sdcard0)과 같은 모바일QQ에서 방문 가능한 위치에 둡니다.
7) 명칭 해석
없음
1 종합 설명
모바일QQ 동영상 공유는 모바일QQ을 풀업하여 로컬 동영상을 QQ 스페이스에서 공유할 수 있습니다.
2 콜백
구조화 공유 콜백
3 모바일 QQ 동영상 공유
1) 기능 설명
WGSendToQQWithVideo 인터페이스를 호출해 모바일QQ를 통해 동영상 정보를 QQ스페이스에서 공유할 수 있습니다.
2) 인터페이스 선언
void WGSendToQQWithVideo(String summary, String videoPath);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
summary | String | 공유하는 본문, 이 파라미터는 현재 유효하지 않음 |
videoPath | String | 공유하는 동영상 경로, 로컬 동영상만 지원하며, 모바일QQ 클라이언트 버전이 5.9.5 이상이어야 하며, 10MB를 초과할 수 없습니다. |
4) 반환값
공유 결과는 WGPlatformObserver를 통해 게임에 회신합니다.
5) 예시 코드
String summary = "내 게임 최고의 순간";
String myVideo = "/storage/sdcard0/cry.mp4";
WGPlatform.WGSendToQQWithVideo(summary, myVideo);
6) 특수 설명
videoPath가 나타내는 로컬 동영상은 sdcard 저장 영역(/storage/sdcard0)과 같은 모바일QQ/에서 방문 가능한 위치에 둡니다.
7) 명칭 해석
없음
모바일 QQ 게임 센터 상세 정보 페이지
1 종합 설명
모바일QQ 게임 상세 정보 페이지는 모바일QQ에서 우수 게임에 대하여 게임 센터에서 상세 정보 페이지를 디스플레이할 수 있게 해 주는 기능으로, 해당 페이지를 이용해 다운로드, 디스플레이, 게임으로 이동 등의 기능을 제공할 수 있으며, 사용 전에 게임 운영 매니저가 모바일QQ 게임 센터에서 설정해야 합니다. 모바일QQ에서 공유하는 targetUrl 파라미터는, 모바일QQ 게임 센터 상세 정보 페이지 링크를 입력할 경우, 해당 공유 정보를 클릭했을 때 이 게임의 게임 센터 상세 정보 페이지로 이동할 수 있으며, 그런 다음 자동으로 게임이 풀업됩니다.
게임 센터 상세 정보 페이지 링크 예시:
http://gamecenter.qq.com/gcjump?appid=100703379&pf=invite&plat=qq&from=androidqq&
ADTAG=gameobj.msg_invite&originuin=61793295&gamedata=gamedata&platformdata=platformdata;
필드 규칙:
필드 | 설명 |
---|---|
appid | 게임의 모바일QQ 게임 센터에서의 고유 식별 ID |
pf | 이력 문제로 인해 “invite”로 고정되며, 게임 센터에서 pf값 invite를 검출하면 직접 게임을 불러옵니다. |
plat | 소스 플랫폼, 값은 qq |
from | 정보 소스 플랫폼은 그 값에는, : androidqq:Android QQ;iphoneqq:iPhone QQ 등이 있을 수 있습니다. |
ADTAG | 표식은 다양한 구조화 정보 소스가 있으며 그 값에는 gameobj.msg_invite : 초청 gameobj.msg_exceed : 초월 gameobj.msg_heart : 하트 보내기 gameobj.msg_pvp : 도전 gameobj.msg_show : 나눠 갖기 등이 있을 수 있습니다. |
originuin | 개설자 측 openId |
platformdata | 게임에 투명 전송하는 데이터 |
gamedata | 게임에 투명 전송하는 데이터 |
로그 상태 보유:
정보 공유를 클릭해 게임을 풀업해야 할 경우(또는 게임 센터에서 게임 기동), 등록 상태를 보유하며, 게임 운영 매니저가 모바일QQ 게임 센터에서 설정해야 합니다.
자체 정의 파라미터 회신:
게임이 모바일QQ 공유 시, 자체 정의 파라미터는 다른 한 사람의 플레이어가 정보 공유를 클릭해 게임을 풀업할 때 게임 클라이언트에 회신될 수 있습니다. 이 기능을 활용해, 게임에서 온라인 상태가 아닌 플레이어를 오프라인 채팅 등의 플레이 방법으로 초대할 수 있습니다. 모바일QQ 공유 시 targetUrl 파라미터에 모바일QQ 게임 센터 상세 정보 페이지를 입력할 경우, 선택 가능한 platformdata 또는 gamedata 필드에서 게임 자체 정의 파라미터를 입력할 수 있습니다. 플레이어가 이 정보 공유창을 클릭하면, 게임 풀업 시에 게임 클라이언트가 리마인더 콜백 WakeupEven을 수신할 수 있고, wakeupRet는 모바일QQ 게임 센터 상세 정보 페이지 링크 내 platformdata 및 gamedata 필드를 투명 전송합니다.
자체 정의 파라미터 추출 예시:
public void OnWakeupNotify(WakeupRet ret) {
// TODO GAME
String platformdata, gamedata;
List<KVPair> pairs = ret.extInfo;
foreach(KVPair pair in pairs)
{
if (pair.key.Equals("platformdata"))
{
platformdata = pair.value;
}
if (pair.key.Equals("gamedata"))
{
gamedata = pair.value;
}
}
}
그중에서 OnWakeupNotify의 등록은 다른 계정 처리를 참조하십시오.
1) 기능 설명
사용자가 내장 브라우저를 통해 위챗 게임 존을 열고 이미지와 문자를 위챗 게임 존에서 공유할 수 있게 해 줍니다.
2) 인터페이스 선언
public static void WGShareToWXGameline(final byte[] data,String gameExtra);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
data | byte[] | 공유하는 이미지 데이터 |
gameExtra | String | 공유하는 게임 자체 정의 파라미터에서, 파라미터는 url 뒤에 추가할 수 있습니다. |
4) 반환값
콜백 없음.
5) 예시 코드
byte[] data = new byte[]{0} //이미지 데이터
WGPlatform.WGShareToWXGameline(data,"파라미터");
6) 특수 설명
이미지 데이터의 크기는 512KB를 초과할 수 없으며, 이를 초과하는 이미지는 게임 자체에서 압축 처리합니다.
7) 명칭 해석
없음
위챗 DeepLink
1) 기능 설명
위챗 DeepLink는 게임 내에서 WGOpenWeiXinDeeplink 인터페이스를 호출해 직접 위챗을 풀업하고 위챗 게임 센터 페이지, 상세 정보 페이지, 게임 데이터베이스 및 자체 정의 URL로 이동할 수 있는 기능을 가리키며, DeepLink 기능의 개통 및 설정을 위해서는 위챗 게임 센터로 연락하셔야 합니다. MSDK2.12.0a 버전부터 이 기능을 제공합니다.
2) 인터페이스 선언
public static void WGOpenWeiXinDeeplink(String link);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
link | String | 구체적으로 링크 deeplink는, 다음과 같이 입력 가능: INDEX: 위챗 게임 센터 초기 페이지로 이동, DETAIL: 위챗 게임 센터 상세 정보 페이지로 이동, LIBRARY: 위챗 게임 센터 게임 데이터베이스로 이동, 구체적인 링크 url (위챗 게임 센터에서 이 url을 먼저 설정해야 함) |
4) 반환값
없음.
5) 예시 코드
WGPlatform.WGOpenWeiXinDeeplink("INDEX");
6) 특수 설명
-
DeepLink 기능은 위챗 게임 센터로 연락해 개통 및 설정해야 합니다.
-
자체 정의 URL은 위챗 게임 센터에서 먼저 설정을 마쳐야 하며 호출 인터페이스에서 전달하는 파라미터 문자와 완전히 일치해야 합니다. 위챗 게임 센터에서 “http://www.qq.com/”을 설치한 경우, 인터페이스 link 파라미터는 “http://www.qq.com/”를 전송해야 하며, “http://www.qq.com”을 전송하면 실패할 수 있습니다.
7) 용어 해석
없음
1) 기능 설명
위챗은 미니앱에 기초해 새로운 특성의 공유 기능을 제공합니다.
2) 인터페이스 선언
void WGSendToWXWithMiniApp(const eWechatScene &scene,
const unsigned char *title,
const unsigned char *desc,
const unsigned char *thumbImgData,
const int &thumbImgDataLen,
const unsigned char *webpageUrl,
const unsigned char *userName,
const unsigned char *path,
bool withShareTicket,
const unsigned char *messageExt,
const unsigned char *messageAction
const unsigned char *mediaTagName,
const eMiniProgramType &type,
const unsigned char *userOpenId);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eWechatScene | 공유 환경(채팅/모멘트)은 현재 채팅 Session만 지원됩니다. |
title | unsigned char* | 제목 공유, 길이는 512B 초과 불가 |
desc | unsigned char* | 내용 설명, 길이는 1KB 초과 불과 |
thumbImgData | unsigned char* | 미니앱 썸네일, IOS: 32K 이하(과거 버전 사용), 128K 이하(새 버전) Android: 32K 이하(과거 버전) |
thumbImgDataLen | int | 미니앱 썸네일 길이 |
webpageUrl | unsigned char* | 과거 버전 위챗으로 해당 미니앱을 열어 공유할 경우, 링크의 일반 웹페이지 url에 호환됩니다.(필수 입력, 임의의 url 가능, 과거 버전 호환) |
userName | unsigned char* | 미니앱 username으로, 예를 들어 gh_d43f693ca31f(필수 입력, 임의의 url 가능, 과거 버전 호환) |
path | unsigned char* | 미니 앱 path는, 해당 필드를 통해 미니앱의 임의의 웹페이지로 이동할 수 있습니다.(이동하지 않을 경우, 기본은 웹사이트 첫 화면) |
withShareTicket | bool | shareTicket 보유 상태로 전송 여부(미니앱 페이지에 사용자의 측정 데이터가 표시되고 미니앱이 그룹에서 공유 가능할 경우, YES로 설정해야 함) |
messageExt | unsigned char* | 필요 없을 경우 문자열을 공백으로 둘 수 있음 |
messageAction | unsigned char* | 필요 없을 경우 문자열을 공백으로 둘 수 있음 |
mediaTagName | unsigned char* | 이 매개 변수는 버전 3.3.0부터 추가되었습니다.이 값은 통계를 위해 WeChat에 전달됩니다. |
type | eMiniProgramType | 애플릿 버전을 애플릿 버전에 해당하는 Release (0), Test (1) 및 Preview (2) 버전으로 구분하여 지정하십시오 .3.3.0 버전은이 매개 변수를 추가하기 시작합니다. |
userOpenId | unsigned char* | 특정 친구에게 공유하도록 지정하면 문자열을 전달할 수 있습니다. 3.3.0 버전은이 매개 변수를 추가하기 시작합니다. |
4) 반환값
설정된 글로벌 콜백의 OnShareNotify(ShareRet& shareRet) 콜백을 통해 데이터를 게임으로 반환하면, shareRet.flag 값이 반환 상태를 표시합니다. 가능한 값과 설명은 다음과 같습니다.
eFlag_Succ: 공유 성공
eFlag_Error: 공유 실패
5) 예시 코드
WGPlatform::GetInstance()->WGSendToWXWithMiniApp(WechatScene_Session,
(unsigned char*)"미니앱 공유 테스트",
(unsigned char*)"테스트하세요",
(unsigned char*)data,
(int)dataLens,
(unsigned char*)"https://www.baidu.com",
(unsigned char*)"gh_e9f675597c15",
(unsigned char*)"page/indexSelAddr/index",
true,
(unsigned char*)"",
(unsigned char*)""
(unsigned char *)"MSG_INVITE",
ProgramType_Release,
(unsigned char*)""););
6) 특수 설명
공유를 시작하는 App과 미니앱이 같은 위챗 오픈 플랫폼 계정에 속해 있는 것을 요구합니다.
위챗 클라이언트 버전이 6.5.8보다 낮을 경우, 미니앱 유형 공유는 자동으로 웹사이트 유형 공유로 변환됩니다. 개발자는 웹페이지 링크 필드를 입력하여 낮은 버전의 클라이언트가 정상적으로 웹페이지 링크를 열 수 있도록 해야 합니다.
미니앱의 초기 ID 획득 방법: 미니앱 백그라운드-설정-기본 설정- 계정 정보로 이동하십시오.
7) 용어 해석
없음
1) 기능 설명
위챗 측에서 제공하는 게임 동영상을 위챗 모멘트 기능에서 공유합니다.
2) 인터페이스 선언
void WGSendToWeixinWithVideo(const eWechatScene &scene,
const unsigned char *title,
const unsigned char *desc,
const unsigned char *thumbUrl,
const unsigned char *videoUrl,
VideoParams &videoParams,
const unsigned char *mediaTagName,
const unsigned char *messageAction,
const unsigned char *messageExt);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | unsigned char* | 공유하는 환경은, 현재 위챗 모멘트만 지원됩니다.: WechatScene_Timeline |
title | unsigned char* | 제목 공유, 길이는 512B 초과 불가 |
desc | unsigned char* | 내용 설명, 길이는 1KB 초과 불과 |
thumbUrl | unsigned char* | 동영상 썸네일 URL |
videoUrl | unsigned char* | 동영상의 URL 공유 |
videoParams | VideoParams | 이 struct는 android, ios 상의 대응하는 필드가 다릅니다. android는 동영상 경로:android_videoPath를 입력해야 합니다. ios는 스스로 동영상 데이터 ios_videoData 및 동영상 데이터 길이 ios_videoDataLen를 읽어들일 필요가 있습니다. 대응하는 ios 상의 필드: videoParams.videoData: 동영상 파일 데이터의 경우, sdk는 크기 10M 초과 불가, videoParams.videoDataLen:동영상 파일 데이터 길이의 경우, sdk는 크기 10M 초과 불가. |
mediaTagName | unsigned char* | 데이터 통계용은 MSG_SHARE_MOMENT_VIDEO 전송을 권장합니다. |
messageAction | unsigned char* | 게임 백그라운드로의 투명 전송은, 해당 필드를 사용해 정보를 투명 전송함으로써 백그라운드에서 해당 모멘트의 일련의 필드를 설치하며 그 형식은 action_type#param입니다. |
messageExt | unsigned char* | 게임 기동 시에 게임 측에 투명 회신합니다. |
4) 반환값
설정된 글로벌 콜백 OnShareNotify(ShareRet& shareRet) 콜백을 통해 데이터를 게임으로 반환하면, shareRet.flag 값이 반환 상태를 표시합니다. 가능한 값과 설명은 다음과 같습니다. eFlag_Succ: 공유 성공 eFlag_Error: 공유 실패
5) 예시 코드
FILE* mp4File = fopen((const char*)"test_video.mp4","rb");
if(mp4File == NULL)
return;
fseek(mp4File, 0L, SEEK_END);
long size = ftell(mp4File);
byte* mp4Buf = new byte[size+ 1];
fseek(mp4File,0x0L,SEEK_SET);
fread(mp4Buf, sizeof(mp4Buf[0]), size, mp4File);
fclose(mp4File);
unsigned char* sVideoData = mp4Buf;
int iVideoLen = (int)size;
VideoParams videoParam;
videoParam.android_videoPath = sVideoPath;
WGPlatform::GetInstance()->WGSendToWeixinWithVideo(WechatScene_Timeline,
(unsigned char*)"게임 동영상",
(unsigned char*)"제왕의 영광의 시간",
(unsigned char*)"http://vweixinthumb.tc.qq.com/150/20250/snsvideodownload?filekey=30270201010420301e02020096040253480410d97d9ca5a4001348336662c5b432e50b020261820400&hy=SH&storeid=32303137303431373039343430323030306130393635613562303238613436663561333230613030303030303936&bizid=1023",
(unsigned char*)"http://shzjwxsns.video.qq.com/102/20202/snsvideodownload?filekey=30270201010420301e02016604025348041086277b0fa88402549570698994b49289020310eefe0400&hy=SH&storeid=32303137303530383038353035323030303832333037626533333166346336613965333230613030303030303636&bizid=1023",
videoParam,
(unsigned char*)"MSG_SHARE_MOMENT_VIDEO",
(unsigned char*)"MESSAGE_ACTION_SNS_VIDEO#gameseq=1491995805&GameSvrEntity=87929&RelaySvrEntity=2668626528&playersnum=10",
(unsigned char*)"msgExt");
6) 특수 설명
- 위챗 모멘트 동영상 공유 기능
- 동영상 형식은 현재 mp4만을 지원하며, 크기는 10M 초과 불가, 시간은 최대 10초로 Android는 현재 크기 3M 초과 불가.
- 너비와 높이는 1:2에서 3:1 사이이며 FPS는 30 초과 불가
- 동영상은 모멘트에서만 공유 가능(scene 값은 WXSceneTimeLine)
7) 용어 해석
없음
텍스트를 QQ존에 공유하기
1) 기능 설명
WGSendToQQWithText 인터페이스를 호출하여 텍스트를 QQ존에 공유 가능합니다. 3.3.0버전부터 해당 인터페이스를 새롭게 추가하였습니다.
2) 인터페이스 선언
void WGSendToQQWithText(unsigned char* text, unsigned char* extraScene, unsigned char* messageExt);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
text | unsigned char* | 공유하려는 내용 |
extraScene | unsigned char* | 공유 솔루션 구분. 홍보 내용 부가 항목(예를 들면 게임 푸시 메시지 하단에 게임 아이콘이 함께 출력하며, 해당 아이콘을 클릭 시 게임을 읽어오거나 다운로드 가능함) 출력 및 feed 클릭, 정의에 대해QQ존측과 논의가 필요.담당자: zeevcao |
messageExt | unsigned char* | 게임 커스트마이징(자체 정의) 필드, [메시지 공유]를 클릭하여 게임에 리턴시 pass through하며, 필요하지 않을 경우 빈 문자열(Null string)을 입력. |
4) 반환값
없음. 공유 결과는 OnShareNotify 콜백을 통해 게임에로 리턴합니다.
5) 예시 코드
WGPlatform::GetInstance()->WGSendToQQWithText((unsigned char*)"text",
(unsigned char *)"1",
(unsigned char *)"msdk");
6) 특수 설명
없음
7) 명칭 해석
없음
미니앱 작동
1) 기능 설명
WGLaunchMiniApp 인터페이스를 호출하여 미니앱을 작동 가능합니다. 3.3.0 버전부터 해당 인터페이스가 추가됩니다.
2) 인터페이스 선언
void WGLaunchMiniApp(const unsigned char *userName,
const unsigned char *path,
const eMiniProgramType &type);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
userName | unsigned char* | 미니앱 오리지널 id 입력 |
path | unsigned char* | 미니앱 웹페이지중 파라미터가 적용된 루트를 읽어옴. 입력하지 않을 경우, 기본적으로 미니앱 홈페이지를 읽어옴 |
type | eMiniProgramType | 미니앱 버전을 지정함.release(0), test(1), preview(2) 등 3종 버전 유형으로 구분함. |
4) 반환값
없음
5) 예시 코드
WGPlatform::GetInstance()->WGLaunchMiniApp((unsigned char*)"gh_eaef65657c15",
(unsigned char*)"page/indexSelAddr/index",
ProgramType_Release);
6) 특수 설명
없음
7) 명칭 해석
없음
모바일 QQ ARK공유
1 종합 설명
ARK공유는 모바일 QQ를 통해 채팅에 공유하는 것으로, ARK공유는 APP ID를 제공하여 모바일 QQ 화이트 리스트에 추가한 후, 모바일 QQ팀과 구체적인 프로토콜에 대해 논의를 해야 합니다.
2 콜백
구조화 공유의 콜백 내용을 참고 바랍니다.
3 모바일 QQ ARK 공유
1) 기능 설명
WGSendToQQWithArk인터페이스를 콜백하여, ARK메세지를 모바일 QQ 채팅창에 공유 가능
2) 인터페이스 선언
void WGSendToQQWithArk(
const eQQScene& scene,
unsigned char* title,
unsigned char* desc,
unsigned char* url,
unsigned char* imgUrl,
unsigned char* jsonString
);
3) 파라미터 설명
파라미터 명칭 | 유형 | 설명 |
---|---|---|
scene | eQQScene열거 | 표식에서 모바일 QQ대화 발송; scene에서는 잠시동안 오직 QQ대화만 지원하며, 공간을 지원하지 않음 |
title | unsigned char * | 타이틀; 80글자 초과 불가능 |
desc | unsigned char * | 내용 정보; 130글자 초과 불가능 |
url | unsigned char * | 내용 이동url,게임에 대응되는 게임 센터 상세 페이지를 추가; 120글자 초과하지 않는 것을 건의 |
imgUrl | unsigned char * | 정보 공유 축소 이미지Url;경로 혹은 네트워크Url;이미지는 1M 초과하지 말아야 함 |
jsonString | unsigned char * | ARK공유jsonString (업무측과 모바일 QQ에서 ARK 개발 시, 어떤 사양으로 개발할지 미리 논의해야 함) |
4) 반환값
없음, 공유 결과는WGPlatformObserver를 통해 OnShareNotify함수 콜백하여, 게임 되돌아오기.
5) 예시 코드
WGPlatform::GetInstance()->WGSendToQQWithArk((eQQScene)cScene,
(unsigned char *)"it's title",
(unsigned char *)"it's desc",
(unsigned char *)"https://speed.gamecenter.qq.com/pushgame/v1/detail?appid=100703379&_wv=2164260896&_wwv=448&autodownload=1&autolaunch=1&autosubscribe=1&ADTAG=gameobj.msg_invite&gamedata=gamedata",
(unsigned char *)"http://q.qlogo.cn/qqapp/100703379/C1BF66286792F24E166C9A5D27CFB519/100",
(unsigned char*)""{"app":"com.tencent.gamecenter.gameshare","view":"noDataView","desc":"템플릿설명","prompt":"메시지 프롬프트","ver":"0.0.0.1","config":{"type":"normal"},"meta":{"shareData":{"appid":"1104466820","type":"image","url":"http%3a%2f%2fimgcache.qq.com%2fclub%2fmars%2fimg_upload%2fgc843_wzgame.png","width":601,"height":330,"buttons":[{"text":"TA의 기록","url":"http%3a%2f%2fcdn.vip.qq.com"}]}}}"";
6) 특수 설명
비고:정상적으로 해당 기능을 사용하기 위해, 개발자에서 아셔야 할 내용:
(1)QQ클라이언트 8.0.0 이전 버전에서, ARK 공유 실패 시, 자동으로 구조화 메세지를 통해 공유를 진행하도록 전환. 파라미터 입력: title,desc,url,imgUrl은 구조화 메세지의 파라미터이기도 합니다. ARK공유 성공 시, title,desc,url,imgUrl 작용이 없습니다.
(2)QQ클라이언트 8.0.0 버전부터, ARK파라미터는 반드시 정확하게 입력해야 하며, 미입력 시, 성공적으로 ARK형태의 정보를 공유할 수 없습니다. 만약 오류 시, 공유 실패
(3)ARK 공식 관리 측에서 게임을 가입해야 하며 ARK카드 리소스를 제공해야 합니다. 리소스 심사 후 게임에 대해 해당 권한이 부여됩니다. 관리측 사이트: http://arkapp.oa.com:8080/app_light/dst/index.html#/ (해당 사이트는 내부 네트워크에서 방문해야 하며, 텐센트 담당자님께서 협조하여 처리할 수 있으며, 카드 심사와 관련된 구체적인 내용은 ARK_Helper에 문의 바랍니다)
(4)IOS의 비 ARK가 TIM에서 공유할 시, scheme중 tim을 추가해야 합니다: 경로는 아래와 같습니다: IOS의 Info.plist 중, Information Property List -> LSApplicationQueriesSchemes에 tim 추가
ARK클라이언트 공유는 모바일 QQ 게임 센터와 논의하여 연결해야 하며, 상세 절차는 하기 내용을 참고 바랍니다.
http://km.oa.com/group/39817/articles/show/375226 (해당 절차 파일은 내부 네트워크를 통해 열람이 가능하며, 관련 담당자님이 게임 센터와 논의를 진행해야 합니다. 게임 센터 담당자: zealzhuang、v_shxizhong)
7) 명칭 해석
없음