360SDK FAQ

2018-10-10 12:44 更新

1.網(wǎng)游sdk接入FAQ


1.1 登錄FAQ

Q1:登錄報(bào)錯(cuò)invalid param appid 400c

blob.png

A1:后臺(tái)加白機(jī)制,出現(xiàn)該頁面后請(qǐng)等待10分鐘后加白完成,就可以恢復(fù)。并且不會(huì)在出現(xiàn)該問題。此類報(bào)錯(cuò)一個(gè)應(yīng)用只會(huì)報(bào)錯(cuò)1次。如10分鐘后還會(huì)報(bào)錯(cuò),

請(qǐng)確定一下問題

<meta-data android:name="QHOPENSDK_APPID" android:value="201994551"/>
<meta-data android:name="QHOPENSDK_APPKEY" android:value="694a05558e1e8ab4cbbc0f89de22834b"/>
<meta-data android:name="QHOPENSDK_PRIVATEKEY" android:value="04daccefc14033ed3d18f157a9f6d1d8"/>

這3個(gè)字段的位置不對(duì),必須再application里面,作為application的子元素存在。

如果還有此報(bào)錯(cuò),請(qǐng)聯(lián)系360技術(shù)人員,或者對(duì)接游戲運(yùn)營。


Q2:{"error":"auth code不可用(OAuth2)","error_code":"4010203"}

A2:去掉CODE換TOKEN的部分,直接接收TOKEN 獲取用戶信息就行了


Q3:返回{"error_code":"4010201","error":"access token不可用(OAuth2)"}

A3:這個(gè)是TOKEN過期了,TOKEN作廢了,重新登錄即可。




Q4:TOKEN指的是什么意思?

A4:開放平臺(tái)頒發(fā)的TOKEN指的是access_token和refresh_token,access_token是調(diào)用所有接口的token,refresh_token只有一個(gè)作用,就是用來刷新access_token和自身(refresh_token),默認(rèn)情況下說token,指的是access_token。


Q5:使用TOKEN調(diào)用服務(wù)器端接口時(shí)失敗, 顯示TOKEN已失效或者過期

  • 檢查用戶是否在線很長時(shí)間, 以至于TOKEN失效. 這樣的話需要刷新TOKEN或者引導(dǎo)用戶再登錄一下 (目前,一次TOKEN時(shí)效10小時(shí))

  • 檢查用戶是否在多臺(tái)設(shè)備上用同一賬號(hào)多次登錄. 只有最后一次的TOKEN是可用的

  • 上述兩個(gè)都不是, 聯(lián)系360開放平臺(tái)手機(jī)SDK技術(shù)支持.


Q6:報(bào)錯(cuò):請(qǐng)到開放平臺(tái)獲取您的appid

blob.png

A6:需要在AndroidManifest.xml中配置QHOPENSDK_APPID。


Q7:調(diào)用了sdk的登錄接口,但是sdk的登錄界面沒有彈出來,而是直接通過回調(diào)返回了這樣的json串:{"data":{"state":"test_state111","access_token":""},"errno":-1}

A7:把“可選參數(shù):自動(dòng)登錄過程中是否不展示任何UI”這句代碼去掉。


Q8:Activity初始化未完成,浮窗無法顯示

A8:請(qǐng)排查以下3點(diǎn)

  • 未接入銷毀方法Matrix.destroy()

  • Matrix.init(Activity activity) 未傳入主activity,常駐的activity

  • activity的oncreate被多次調(diào)用,或360SDK的初始化接口被多次調(diào)用


Q9:getAccessToken onError

A9:登錄驗(yàn)證出錯(cuò),服務(wù)器地址配置錯(cuò)誤


1.2 支付FAQ

Q1:關(guān)于支付回調(diào)問題:

  • 支付回調(diào)地址:回調(diào)地址需要研發(fā)同學(xué)自己配置,為安全起見,支付回調(diào)地址不在后臺(tái)填寫,請(qǐng)?jiān)谡{(diào)用支付接口時(shí)填寫notify_url字段。詳情見接入文檔支付接口部分。

  • 支付未收到回調(diào):先保證支付通知接口是可訪問的. 在瀏覽器上訪問一下就知道了. 用  IP地址的話注意不要是內(nèi)網(wǎng)IP記錄完整的請(qǐng)求日志, 把未經(jīng)處理的請(qǐng)求參數(shù)串, 記在日志里. 直接回應(yīng)ok.

  • 修改回調(diào)地址:客戶端在下單時(shí),傳入新回調(diào)地址就可以。

  • 支付400錯(cuò)誤:400錯(cuò)誤都是因?yàn)閰?shù)缺少或者APP KEY / APP SECRET值不對(duì),解決方案對(duì)照文檔看缺什么參數(shù)。

  • 支付401錯(cuò)誤:不要通過程序去請(qǐng)求 而是在服務(wù)器上直接CURL查看返回的原始錯(cuò)誤。


Q2:關(guān)于簽名:

  • 客戶端:如果是客戶端報(bào) invalid Signature,或者簽名錯(cuò)誤之類。 請(qǐng)檢查客戶端的appKey和privateKey是否匹配。 以及privateKey是否正確計(jì)算(md5(appSecret+'#'+appKey))。 具體計(jì)算方式也請(qǐng)參考文檔。

  • 服務(wù)端簽名不對(duì):重點(diǎn)檢查2個(gè)方面的問題: 1) 請(qǐng)確保加密使用的是當(dāng)前應(yīng)用的appSecret,和客戶端private Key不一樣。  2) 加密時(shí)是否計(jì)算了不必要的參數(shù),比如應(yīng)用自己在鏈接中定義了額外的參數(shù)。具體哪些參數(shù)參與簽名請(qǐng)參考文檔。 Demo代碼僅供參考。



Q3:變更測試的回調(diào)地址,在平臺(tái)游戲管理中心的編輯與更新沒有找到界面,要如何操作?

A3:客戶端在下單時(shí),有個(gè)回調(diào)地址參數(shù)。 傳入新回調(diào)地址就可以。

 

Q4: 關(guān)于 360先玩后付 這種支付方式,信用余額的問題。

A4:mo9是信用支付,就是先消費(fèi),后還款,每個(gè)用戶初始信用額度一般為30塊錢,支付過一次之后,要在一周之內(nèi)還款,否則有可能會(huì)被拉黑,造     成下次用mo9支付時(shí)顯示信用額度不足??梢月?lián)系360技術(shù)支持人員查詢信用額度問題。


Q5:支付這塊,服務(wù)端的PayAppInterface接口里的isValidOrder方法是必須的嗎?

A5:這個(gè)是Demo里的代碼,是為了檢查返回值是否正確,這個(gè)需要開發(fā)者自己決定用不用


Q6:報(bào)錯(cuò):app_uid is needed 

A6:以下參數(shù)有缺失:APP_NAME,APP_USER_NAME,APP_USER_ID,APP_ORDER_ID


Q7:余額查詢失敗

A7:余額查詢失敗先看下能不能用支付寶下單。 只測試下單,不用支付。 如果下單報(bào)簽名錯(cuò)誤,請(qǐng)檢查客戶端privateKey是否正確。


Q8: 為什么登錄是好用的,但是支付功能卻無法正常使用

A8: 出現(xiàn)這種情況,請(qǐng)首先檢查Mainifest.xml文件中,PRIVATEKEY是否已經(jīng)正確的配置。

    <meta-data   android:name="QIHOO_SDK_PRIVATEKEY"   android:value="4e04fe9ac8e2a73cbb27ba52ac076eb9" > </meta-data>.



Q9:

blob.png

A9:access token失效,token有效期為10小時(shí),若用戶在線時(shí)間過久需游戲引導(dǎo)用戶重新登陸,重新進(jìn)行支付步驟。


1.3 社交FAQ

Q1:究竟哪些好友是可以邀請(qǐng)的?

A1:手機(jī)游戲SDK會(huì)根據(jù)用戶的本地通訊錄、360游戲平臺(tái)中其他社交游戲中的好友進(jìn)行計(jì)算,返回給用戶那些是可以邀請(qǐng)的好友。friendship.png

blob.png


Q2:好友已經(jīng)收到了我的邀請(qǐng)短信,在游戲中為什么沒有成為好友?

A2:短信發(fā)送成功后,SDK會(huì)向360的邀請(qǐng)服務(wù)發(fā)送“邀請(qǐng)短信已經(jīng)發(fā)送成功”的消息;如果這個(gè)時(shí)候網(wǎng)絡(luò)狀況不佳時(shí),就會(huì)出現(xiàn)邀請(qǐng)失敗的情況;     即使被邀請(qǐng)收到短信,好友關(guān)系依然沒有建立。建議開發(fā)者根據(jù)接口返回結(jié)果來提示用戶邀請(qǐng)是否成功。

    FUNC_CODE    接口

    FUNC_CODE_INVITE_FRIEND_BATCH   邀請(qǐng)好友接口返回結(jié)果示例

    {   errno: 0,   errmsg: "ok",   time: 1363155828,   data: {    status: "1" //0:邀請(qǐng)失敗,1:邀請(qǐng)成功   } }

 

 

Q3:除了默認(rèn)的排行榜,游戲方如何自定義游戲的排行榜。

Q3:游戲可以定義多個(gè)不同排行榜,在上傳對(duì)應(yīng)排行數(shù)值的時(shí)候指定對(duì)應(yīng)排行榜id即可(最多自定義10個(gè)排行榜,id為1~10)。

   游戲自定義的排行榜需要者發(fā)郵件到360box@#提交申請(qǐng)游戲的資料。包括:“游戲名稱”“游戲包名”“appid”“排行榜編號(hào)”“更新頻率”“每天更新時(shí)間(精確到秒)”“起止時(shí)間”“默認(rèn)排序(升,降序)”例如

郵件標(biāo)題
游戲添加自定義排行榜  游戲名“某某游戲”
郵件正文:
游戲包名:“xxx.xxxx”
appid:XXXXXXXXX
排行榜編號(hào):3(1-10)
更新頻率:每周
每天更新時(shí)間:00:00(精確到秒)
起止時(shí)間:2014.11.1
默認(rèn)排序:降序排列(升,降序)


1.4 數(shù)據(jù)FAQ

Q1:支持哪些數(shù)據(jù)統(tǒng)計(jì)?

A1:目前可支持開發(fā)者自定義數(shù)據(jù)統(tǒng)計(jì):如關(guān)卡、道具、任務(wù)、玩家、角色統(tǒng)計(jì)等。


Q2:接入過程中有什么需要特別注意的?

  • .需在應(yīng)用“啟動(dòng)Activity”的onCreate方法中調(diào)用Matrix.init(this);

  • 若應(yīng)用退出時(shí)調(diào)用了android.os.Process.killProcess(android.os.Process.myPid())或System.exit(0) 方法,則需在調(diào)用這兩個(gè)方法前調(diào)用QHStatDo.OnExit()方法,確保數(shù)據(jù)不丟失,能正常上報(bào)。 
     

Q3:在哪里可以查到統(tǒng)計(jì)結(jié)果?

A3:由于統(tǒng)計(jì)平臺(tái)仍在限量測試中,“聯(lián)運(yùn)游戲”查看統(tǒng)計(jì)結(jié)果需要聯(lián)系對(duì)應(yīng)運(yùn)營負(fù)責(zé)人。 


1.5 推送FAQ

Q1:360推送服務(wù)有哪些優(yōu)勢?

  • 多達(dá)15種標(biāo)配推送維度且支持開發(fā)者自定義推送維度。

  • 優(yōu)異的不同接入網(wǎng)絡(luò)連接自動(dòng)設(shè)配能力,消息的實(shí)時(shí)到達(dá)率業(yè)內(nèi)領(lǐng)先 

  • 采用優(yōu)于競品的SDK雙服務(wù)綁定架構(gòu),支持多路復(fù)用,節(jié)約用戶流量和電量


Q2:目前支持哪些維度的推送消息?

A2:可根據(jù)應(yīng)用版本、用戶自定義標(biāo)簽、用戶所在地、活躍度、應(yīng)用投放渠道、運(yùn)營商、網(wǎng)絡(luò)接入類型、設(shè)備機(jī)型、品牌、屏幕分辨率、系統(tǒng)語音、版本、用戶百分比、360用戶畫像及開發(fā)者自定義共15個(gè)維度進(jìn)行推送。
 

Q3:在哪里可以進(jìn)行推送操作?

A3:由于360推送仍在限量測試中,我們將逐步對(duì)所有開發(fā)者開放,請(qǐng)您關(guān)注360開放開放平臺(tái)的消息和公眾賬號(hào),獲取最新進(jìn)展。 


1.6 其他FAQ

Q1:自檢顯示assets下資源丟失如何處理?

  • 不要混淆、不要加固,重新自檢

  • 沒有把a(bǔ)ssets下的文件拷貝到工程assets下

  • 請(qǐng)將Unity、Cocos工程先導(dǎo)入Eclipse,使用Eclipse出包

  • 請(qǐng)將編譯環(huán)境調(diào)到Android-22,4.4以上


Q2:token去換qid,必須是開發(fā)者的服務(wù)器去換么?開發(fā)者時(shí)候可以客戶端發(fā)個(gè)HTTP請(qǐng)求換呢?

A2:如果沒有服務(wù)器可以這么做,但為了帳號(hào)安全,最好是從服務(wù)端發(fā)起。

 

Q3:服務(wù)端簽名不對(duì)的情況?請(qǐng)按照以下說明檢查。

A3:簽名不對(duì),重點(diǎn)檢查2個(gè)方面的問題: 

    1) 請(qǐng)確保加密使用的是當(dāng)前應(yīng)用的appSecret,和客戶端private Key不一樣。

    2) 加密時(shí)是否計(jì)算了不必要的參數(shù),比如應(yīng)用自己在鏈接中定義了額外的參數(shù)。具體哪些參數(shù)參與簽名請(qǐng)參考文檔。 Demo代碼僅供參考。

 

Q4:客戶端簽名不正確,請(qǐng)按以下方法檢查

A4:如果是客戶端報(bào) invalid Signature,或者簽名錯(cuò)誤之類。 請(qǐng)檢查客戶端的appKey和privateKey是否匹配。 以及privateKey是否正確計(jì)算                           (md5(appSecret+'#'+appKey))。 具體計(jì)算方式也請(qǐng)參考文檔。


Q5:懸浮窗在什么情況下會(huì)消失掉,已經(jīng)調(diào)用atrix.destroy()方法

A5:退出游戲之前要調(diào)用,浮窗消失是SDK 判斷游戲沒有運(yùn)行在前臺(tái)才會(huì)消失

 

Q6:1.0.4版本是否可以設(shè)置背景。

A6:UI_BACKGROUND_PICTRUE這個(gè)參數(shù)是改背景的。bundle.putString(ProtocolKeys.UI_BACKGROUND_PICTRUE, "");這樣設(shè)置會(huì)顯示默認(rèn)背景。

 

Q7:游戲退出的返回按鈕

A7:只有返回值為0的時(shí)候不需要做操作,其他情況都要執(zhí)行退出游戲。

 

Q8:接入sdk退出出現(xiàn)了問題,出現(xiàn)退出彈窗后點(diǎn)退出游戲,調(diào)用了android.os.Process.killProcess(android.os.Process.myPid()); 退出游戲,結(jié)果游戲直接重啟?

A8:在退出回調(diào)后,調(diào)用 killprocess 游戲重啟的問題,要在killprocess之前調(diào)用 finish() 方法.


2.單機(jī)sdk接入FAQ

Q1:單機(jī)SDK是否支持登錄及登錄用戶信息獲取功能?
A1:V0.1.3(9014)及之前版本不支持登錄功能;V0.1.4(9016)版本支持登錄功能,但登錄不返回用戶個(gè)人信息,僅在用戶進(jìn)行聯(lián)網(wǎng)支付時(shí)向應(yīng)用服務(wù)器返回用戶登錄信息,不支持單獨(dú)獲取用戶登錄信息;V0.1.4(9018)版本支持登錄及用戶信息獲取。


 

Q2:50元等大額商品是否可以使用運(yùn)營商短代計(jì)費(fèi)?

A2:不可以,僅通過申請(qǐng)的計(jì)費(fèi)點(diǎn)可使用短代計(jì)費(fèi)。由于30元以上商品暫無對(duì)應(yīng)計(jì)費(fèi)點(diǎn),故無需進(jìn)行計(jì)費(fèi)點(diǎn)申請(qǐng)。用戶支付時(shí),直接跳轉(zhuǎn)至聯(lián)網(wǎng)支付。

 

Q3:在什么情況SDK會(huì)調(diào)起話費(fèi)支付,什么情況會(huì)調(diào)起聯(lián)網(wǎng)支付?

A3:同時(shí)滿足以下所有條件則調(diào)起話費(fèi)支付;若一項(xiàng)或多項(xiàng)不滿足,則調(diào)起聯(lián)網(wǎng)支付。

1.所支付商品已成功申請(qǐng)計(jì)費(fèi)點(diǎn);

2.用戶手機(jī)有sim卡且可判斷sim卡歸屬運(yùn)營商;

3.最近一次聯(lián)網(wǎng)獲取到的sim卡對(duì)應(yīng)運(yùn)營商計(jì)費(fèi)通道未關(guān)閉;

4.支付amount參數(shù)(單位分)的值是否和goodInputId對(duì)應(yīng)的金額一致。

 

Q4:為何無法正常調(diào)起話費(fèi)支付?
A4:請(qǐng)按以下步驟進(jìn)行檢查。
1.檢查手機(jī)是否已插入移動(dòng)、聯(lián)通或電信sim卡;
2.檢查是否已在360開放平臺(tái)申請(qǐng)短信支付通道且所支付商品包含在申請(qǐng)的計(jì)費(fèi)文件中;
3.檢查計(jì)費(fèi)文件是否放到assets下;
4.檢查應(yīng)用傳的goodinputid是否與計(jì)費(fèi)文件中對(duì)應(yīng)一致;
5.檢查計(jì)費(fèi)文件的包名和appkey是否與工程中填寫一致;
6.檢查支付amount參數(shù)(單位分)的值是否和goodInputId對(duì)應(yīng)的金額一致。


 

Q5:支付結(jié)果服務(wù)器通知接口是否必接?會(huì)通知哪些信息?

A5:非必接,有服務(wù)器的cp可選接。會(huì)通知用戶聯(lián)網(wǎng)支付的結(jié)果,短代支付不做通知。具體通知字段詳見接入文檔。

 

Q6:道具發(fā)放以服務(wù)器通知還是sdk通知為準(zhǔn)?

A6:短代支付必須以sdk通知為準(zhǔn)。

聯(lián)網(wǎng)支付未接應(yīng)用服務(wù)器通知?jiǎng)t必須以sdk通知為準(zhǔn),已接應(yīng)用服務(wù)器通知可自行選擇以sdk通知或服務(wù)器通知為準(zhǔn)。

sdk通知不區(qū)分短代支付及聯(lián)網(wǎng)支付方式。

 

Q7:扣費(fèi)成功,下行扣費(fèi)短信正常,但SDK出現(xiàn)錯(cuò)誤碼129返回碼1214的報(bào)錯(cuò)。

A7:確認(rèn)廣播接收器中是否包含以下示例加粗行通知優(yōu)先級(jí)代碼,若不包含自行添加或在dev.#重新下載SDK即可。

<receiver

android:name="mm.yp.purchaseSDK.sms.SMSReceiver"

android:exported="false" >

<intent-filter android:priority="10000" >

<action android:name="aspire.iap.SMS_SEND_ACTIOIN" />

<action android:name="aspire.iap.SMS_DELIVERED_ACTION" />

</intent-filter>

</receiver>


3.開發(fā)者自定義浮窗FAQ

3.1 代碼部分

注意:此部分用于開發(fā)者自定義主動(dòng)調(diào)用浮窗,如不需要主動(dòng)調(diào)用,浮窗不需要單獨(dú)接入,使用360浮窗默認(rèn)展示邏輯,開發(fā)者不需要接入此步驟。

在主UI線程調(diào)用此代碼

代碼如下:

Intent i = new Intent();
i.putExtra(ProtocolKeys.FUNCTION_CODE, ProtocolConfigs.FUNC_CODE_PERSONAL_CENTER_ACTIVITY);
Matrix.invokeActivity(this, i, null);


 

3.2 注意事項(xiàng)(請(qǐng)仔細(xì)閱讀)

3.2.1 如果游戲想屏蔽掉SDK自帶浮窗,需要提交游戲包名和游戲版本號(hào)給  yangzhongyi@# ,在后臺(tái)進(jìn)行黑名單配置。


3.2.2 必須在登錄成功的狀態(tài)下調(diào)用,否則不會(huì)顯示。建議是用戶登錄。點(diǎn)擊是展示個(gè)人主頁界面。

調(diào)用效果如下:

blob.png


3.2.3如果能成功調(diào)起福利界面,游戲不會(huì)收到回調(diào)。所以,回調(diào)參數(shù)傳空就可以。

blob.png


3.2.4.返回錯(cuò)錯(cuò)誤碼信息

當(dāng)360SDK處于未初始化狀態(tài)時(shí),調(diào)用其任何接口都會(huì)返回錯(cuò)誤,錯(cuò)誤碼為-101。{errno:-101,errmsg:”…”}

如果360SDK未處于登錄狀態(tài),會(huì)直接返回錯(cuò)誤,錯(cuò)誤碼為-100。{errno:-100, errmsg:”…”}

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)