勇者大冒险手游msdk是什么意思

查看: 7377|回复: 1
最后登录注册时间阅读权限100精华0帖子
性别男幸福币0 经验201 帖子
本帖最后由 Joejiao 于
09:35 编辑
1.& && &QQ账号和微信账号都是数字吗?如果都是数字,可以作为作为Game DB的账号字符串(编号)吗?答:游戏的客户端和Gamesvr都无法直接获取到用户的QQ号和微信账号,只能获取到通过加密处理的“openid”作为用户的唯一身份标识,openid可作为Game DB的账号字符串。“openid”是一个包含数字,字母,符号等的随机字符串,MSDK建议长度设置成128字节.&&QQ账号对应的openid范例:AECAC2D94EB37&&微信账号对应的openid范例:oGRTijrV0l67hDGN7dstOl8CphN0
2.& && &QQ和微信是完全不同的账号吗?答:1. QQ号和微信号获取到的用户openid是完全不一样的,所以他们是两个完全不同的账号体系;2.在Android和IOS系统下同一个QQ号或微信号获得的openid是一样的;3.IOS上的游戏数据不能和Android系统互通,所以需要根据系统来区分用户账号; 3.& && &Android和IOS的用户账号数据必须分开吗?如果一定要分开,原因是什么?答:按照苹果规定IOS用户数据和Android不能互通,因此必须分开。游戏可分为手Q和微信两个大区,数据不互通实现方式建议单个大区内针对具体的不能互通数值分别保存一份ios和一份android的(同一张表不同字段和不同记录),然后逻辑在使用的时候根据用户当前使用的IOS还是Android取对应的数据。
4.& && &Openeid可以直接作为用户的账号存储到DB吗?答:可以。为了更高可用性建议游戏可以按照一定规则将openid转换为游戏内使用的UID(一一对应),优点在于整型索引和存储成本比字符串小很多,也方便后续分模部署等实现,如果转换建议开发独立的uidsvr负责此项功能。
5.& && &同一个QQ号或微信号拿到的用户openid会变吗?答:QQ号和微信号对应的openid只和APPID相关,只要游戏的APPID不变,同一个账号对应的openid就不会变。
6.& && &Openid建议的字符长度是多少?答:建议128字节。
7.& && &QQ和微信账号对应的openid会重复吗?答:不会重复。两者的转换规则不一样,目前未发现重复的案例。
8.& &&&没有安装手Q时,为什么会提示登录失败,需要下载手Q才能登录?答:未安装手Q时,的确不能使用内置的WEB页面来实现登录(精品游戏因为有特殊权限才可以拉起),需要引导用户去现在最新的手Q,才能登录9.& &&&为什么手机QQ登录的时候会提示“403 Forbidden”?答:请确认调用API的URL是否为正式环境域名,游戏正式上线前只能使用测试环境域名进行功能调试,正式环境权限不会开放,所以如果使用了正式环境的域名因为没有权限,会提示“403 Forbidden”10.& & 为什么微信无法登录?答:请找产品接口人确认微信APPID和APPKEY是否权限已开通,签名,包名等是否已经正确提交并配置。
11.& & 手Q授权后拿到的accesstoken有效期是多久?答:90天,但paytoken过期会导致用户的登录态失效,从而需要用户重新登录。
12.& & Pay_token的有效时间是多久?能自动刷新Pay_token吗? 答:Pay_token有效时间为48小时,需要用户重新登录才能刷新,没有任何接口可以自动刷新。
13.& & 怎么刷新微信accesstoken?答:使用微信客户端拉起授权页面授权以后, 游戏可以获取到微信的accessToken只有两个小时的有效期,授权的同时返回的refreshToken有效期则为30天。 refreshToken的用途就是刷新accessToken, 只要refreshToken不过期就可以通过refreshToken刷新accessToken。 有两种情况需要刷新accessToken, 第一种, 游戏在进行过程中, 调用后台接口或者支付过程中发现accessToken过期; 第二种, 用户授权以后退出游戏, 下一次再进入游戏时候accessToken过期. 要完成此功能需要用到的接口有: WGRefreshWXToken, WGGetLoginRecord, 接口详细说明如下:void WGRefreshWXToken();描述: 微信accessToken续期,调用WGGetLoginRet(LoginRet ret),ret.flag 为eFlag_WX_AccessTokenExpired时调用此接口,刷新微信票据。
刷新accessToken结果通过OnLoginNotify(LoginRet ret)回调给游戏。ret.flag = eFlag_WX_RefreshTokenSucc&&刷新token成功ret.flag = eFlag_WX_RefreshTokenFail& &刷新token失败
调用示例代码如下:WGPlatform::GetInstance()-&WGRefreshWXToken();
回调实现(Demo)代码如下:virtual void OnLoginNotify(LoginRet& loginRet) { if (loginRet.platform ==ePlatform_QQ) {& && &&&... // QQ授权回来的处理逻辑 } else if (loginRet.platform ==ePlatform_Weixin) {& && &&&// 读取微信的授权票据& && &&&switch (loginRet.flag) {& && &&&... // 其他flag的处理& && &&&caseeFlag_WX_RefreshTokenSucc: {& && && && && &// WGRefreshWXToken调用成功// 成功用当前的refreshToken换到新的accessToken& && && && && &std::stringaccessToken = &&;& && && && && &std::stringrefreshToken = &&;& && && && && &for (int i = 0; i &loginRet.token.size(); i++) {& && && && && && && & if(loginRet.token.at(i).type == eToken_WX_Access) {& && && && && && && && && &&&accessToken.assign(loginRet.token.at(i).value);& && && && && && && & } else if(loginRet.token.at(i).type == eToken_WX_Refresh) {& && && && && && && && && &&&refreshToken.assign(loginRet.token.at(i).value);& && && && && && && & }& && && && && &}& && && && && &LOGD(&accessToken: %s&, accessToken.c_str());& && && && && &LOGD(&payToken :%s&, refreshToken.c_str());& && && && && && && &&&}& && &&&caseeFlag_WX_RefreshTokenFail:& && && && && &// WGRefreshWXToken调用过程中网络出错, 刷新失败 //游戏自己决定是否需要重试 WGRefreshWXToken& && && && && && && &&&} }}
14.& & 登出游戏有没有回调?答:没有,也无须回调。
15.& & Mobile QQ, Mobile QZone, QQ账号的 VIP是什么内容?(包括 QQ内容及WeChat的内容)?答:所有QQ账号的vip都是通用的,不区分Mobile QQ,Mobile QZone, QQ账号。不同的增值业务开通的VIP会员身份不一样。QQ账号的VIP目前在MSDK Gamesvr API /profile/load_vip可以获取到三种:QQ会员,QQ蓝钻,QQ红钻;在/relation/qqprofileAPI中可以获取到QQ黄钻的VIP信息。微信账号的vip和QQ账号不一样,只有沃卡(chinaunicom)一种,可以通过Gamesvr API /relation/wxprofile来获取此类VIP信息。 16.& & 为什么手Q登录后无法收到回调?答:AndoridManifest.xml需要进行如下修改:& && & 查找AssitActivity的元素,改成如下:& && &&&&activityandroid:name=&com.mon.AssistActivity&& && && &&&android:theme=&@android:style/Theme.Translucent.NoTitleBar&& && && &&&android:screenOrientation=&portrait& /&
17.& & 为什么部分htc机器(one s, S720t)手Q登录后无法收到回调?答:请将activity修改成如下:& && &&&&activity& && && &&&android:name=&com.mon.AssistActivity&& && && &&&android:screenOrientation=&portrait&& && && &&&android:configChanges=&orientation|screenSize|keyboardHidden&& && && && &android:theme=&@android:style/Theme.Translucent.NoTitleBar&/&
18.& & 为什么部分机器手Q登录后无法收到回调,出现反复授权的死循环?答:横竖屏切换的时候会导致Activity周期重走一遍,导致授权成功后数据没有办法返回到游戏,在activity加上这个属性:
17:59 上传
19.& & 怎么获得APK的应用签名?答:申请微信AppID过程中需要填写的 apk应用签名获取方式: http://open./download/sdk/gen_signature.apk&&将此链接下载的文件安装到手机上, 游戏也同时安装到手机,输入游戏对应的包名即可获取签名.20.& & 手Q和微信登录过程中出现-20000错误,提示invalid credential是什么原因?答:手Q和微信登录调用的服务端API /auth/verify_login&/auth/check_token,就是判断accesstoken是否过期的,返回这个错误的原因是accesstoken已过期,需要用户重新登录,所以适当的收到此提示属正常范畴,不属于错误,收到此提示后客户端让用户重新登录授权即可。
21.& & 手Q和微信服务端API调用出现invalid credential错误是什么原因?答:此错误说明accesstoken过期,需要客户端重新登录授权,刷新accesstoken,然后拿新的accesstoken来调用API。 22.& & 什么是异帐号,需要怎样实现异帐号提示?答:异帐号是指:游戏授权帐号和平台授权帐号不一致。异帐号情景下:1)游戏通过分享拉起平台,平台会弹框提示异帐号。2)平台拉起游戏 msdk会将平台授权帐号对应的openid通过OnWakeupNotify(WakeupRet ret)方法的ret.open_id回调给游戏,游戏用此openid和已授权openid对比即可判断是否为异帐号,如果是异帐号游戏需要弹框提示用户。注意事项: 1)游戏到微信的异账号只在微信5.0及以上版本才支持。 2)手Q4.6以下版本, 手Q到游戏的异账号在游戏已经启动的情况下没有。
23.& & 为什么登录中会出现110407错误,提示QQ登录已停用?答:游戏未在上提交审核上线前,只有开发者账号和协作者账号能登录,需要通过上线审核后才能开放所有用户登录。
24.& & MsdkCallback的OnLoginNotify(LoginRet ret) 接口回调中,ret的user_id属性始终为空字符串答:user_id 是历史版本的保留字段, 已废弃, 新游戏不使用此字段, 登录完成以后用户id是openId,保存在LoginRet.open_id中, 登录的票据保存在LoginRet.token中. 获取accessToken/payToken的实例代码如下: virtual voidOnLoginNotify(LoginRet& loginRet) { if (loginRet.platform == ePlatform_QQ) {& && &&&// 读取QQ的授权票据& && &&&switch (loginRet.flag) {& && &&&case eFlag_Succ: {& && && && && &// 进行正常游戏登陆逻辑& && && && && &std::string accessToken = &&;& && && && && &std::string payToken = &&;& && && && && &for (int i = 0; i & loginRet.token.size(); i++) {& && && && && && && & if (loginRet.token.at(i).type ==eToken_QQ_Access) {& && && && && && && && && &&&accessToken.assign(loginRet.token.at(i).value);& && && && && && && & } else if (loginRet.token.at(i).type ==eToken_QQ_Pay) {& && && && && && && && && &&&payToken.assign(loginRet.token.at(i).value);& && && && && && && & }& && && && && &}& && && && && && && &&&}& && &&&case eFlag_QQ_NotInstall:& && &&&case eFlag_QQ_NotSupportApi:& && && && && &// 没有安装或者版本太低, 引导用户下载新版手Q& && && && && && && &&&case eFlag_QQ_UserCancel:& && && && && &// 用户取消, 提示用户重新授权& && && && && && && &&&case eFlag_QQ_NoAcessToken:& && &&&case eFlag_QQ_LoginFail:& && &&&case eFlag_QQ_NetworkErr:& && && && && &// 授权过程中网络失败, 或者其他错误,引导用户重新授权即可& && && && && && && &&&} } else if (loginRet.platform == ePlatform_Weixin) {& && &&&... }} 25.& & 微信国际版支持用户授权登录吗?答:支持,但不建议使用微信国际版来调试游戏的相关平台功能,因为微信国际版的更新没有中文版快,可能部分新增的能力无法调试。
26.& & 手机QQ国际版支持用户授权登录吗?& &答:不支持,会导致游戏直接crash,如果有需求要支持,可以由运营接口人提需求至MSDK。
最后登录注册时间阅读权限100精华0帖子
性别女幸福币0 经验347 帖子
Powered by&&广告/内容合作QQ:
用iPad玩欢乐斗地主,出现msdk_errld=4003是什么意思?
网友问题描述及疑问:用iPad玩欢乐斗地主,出现msdk_errld=4003是什么意思?
期待您的答案,感谢你,我会记得你对我的好的!
上一篇: 下一篇:
频道周排行外行想咨询一下,腾讯的msdk是什么?应该如何接入腾讯的ms_开发者吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:553贴子:
外行想咨询一下,腾讯的msdk是什么?应该如何接入腾讯的ms
的msdk和一般的sdk接入方法是一样的吗?我在开放平台只找到一般sdk的接入方法。
四大美腿镇楼
只有亲自经历了180天大...
黑龙 雷神 黑骑士 火麒...
据腾讯科技报道,中移动...
贴吧热议榜
使用签名档&&
保存至快速回贴}

我要回帖

更多关于 勇者大冒险攻略 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信