Google Play 結(jié)算系統(tǒng):打擊欺詐和濫用行為

來(lái)源: Google Developers
作者:Google Developers
時(shí)間:2020-12-21
17204
隨著您的應(yīng)用越來(lái)越受歡迎,它也會(huì)引起惡意用戶(hù)的注意,他們可能會(huì)濫用您的應(yīng)用。本主題介紹了一些建議,您應(yīng)該利用這些建議幫助防止這些針對(duì)結(jié)算服務(wù)集成的攻擊,并減少濫用行為對(duì)您的應(yīng)用的影響。

隨著您的應(yīng)用越來(lái)越受歡迎,它也會(huì)引起惡意用戶(hù)的注意,他們可能會(huì)濫用您的應(yīng)用。本主題介紹了一些建議,您應(yīng)該利用這些建議幫助防止這些針對(duì)結(jié)算服務(wù)集成的攻擊,并減少濫用行為對(duì)您的應(yīng)用的影響。

將敏感邏輯移至后端

在應(yīng)用設(shè)計(jì)允許的范圍內(nèi),盡可能將敏感數(shù)據(jù)和邏輯移至您控制的后端服務(wù)器。前端設(shè)備中的數(shù)據(jù)和邏輯越多,就越容易遭到修改或篡改。

例如,在線(xiàn)國(guó)際象棋游戲應(yīng)該在后端驗(yàn)證每一步,而不是相信前端發(fā)送的每一步始終都是合法的。

此外,如果發(fā)現(xiàn)了漏洞或安全問(wèn)題,根據(jù)您的系統(tǒng)設(shè)計(jì),在后端而非前端進(jìn)行調(diào)試、修復(fù)和發(fā)布更新可能也會(huì)更容易。

在授予權(quán)限前驗(yàn)證購(gòu)買(mǎi)交易

應(yīng)該在后端處理敏感數(shù)據(jù)和邏輯的一種特殊情況是購(gòu)買(mǎi)交易驗(yàn)證。用戶(hù)完成購(gòu)買(mǎi)交易后,您應(yīng)該執(zhí)行以下操作:

將相應(yīng)的purchaseToken發(fā)送到后端。也就是說(shuō),您應(yīng)維護(hù)一份所有購(gòu)買(mǎi)交易的所有purchaseToken值記錄。

驗(yàn)證當(dāng)前購(gòu)買(mǎi)交易的purchaseToken值是否與以前的任何purchaseToken值都不匹配。purchaseToken具有全局唯一性,因此您可以放心地使用此值作為數(shù)據(jù)庫(kù)中的主鍵。

使用Google Play Developer API中的Purchases.products:get或Purchases.subscriptions:get端點(diǎn)向Google驗(yàn)證購(gòu)買(mǎi)交易是否合法。

如果購(gòu)買(mǎi)交易合法且過(guò)去沒(méi)有使用過(guò),那么您就可以放心地授予對(duì)應(yīng)用內(nèi)商品或訂閱的權(quán)限。

對(duì)于訂閱,在Purchases.subscriptions:get中設(shè)置linkedPurchaseToken時(shí),您還應(yīng)從數(shù)據(jù)庫(kù)中移除linkedPurchaseToken并撤消授予linkedPurchaseToken的權(quán)限,以確保不會(huì)因同一購(gòu)買(mǎi)交易而向多個(gè)用戶(hù)授予權(quán)限。

注意:請(qǐng)勿使用orderId檢查是否存在重復(fù)的購(gòu)買(mǎi)交易或?qū)⑵渥鳛閿?shù)據(jù)庫(kù)中的主鍵,因?yàn)椴荒鼙WC所有購(gòu)買(mǎi)交易都會(huì)生成orderId。特別是,使用促銷(xiāo)代碼完成的購(gòu)買(mǎi)交易不會(huì)生成orderId。

保護(hù)未鎖定內(nèi)容

為防止惡意用戶(hù)重新分發(fā)您未鎖定的內(nèi)容,請(qǐng)勿將這種內(nèi)容放入您的APK文件中,而是執(zhí)行以下操作之一:

使用實(shí)時(shí)服務(wù)發(fā)送內(nèi)容,例如內(nèi)容Feed。通過(guò)實(shí)時(shí)服務(wù)發(fā)送內(nèi)容還可以使內(nèi)容始終保持最新?tīng)顟B(tài)。

使用遠(yuǎn)程服務(wù)器發(fā)送內(nèi)容。

通過(guò)遠(yuǎn)程服務(wù)器或?qū)崟r(shí)服務(wù)發(fā)送內(nèi)容時(shí),您可以將未鎖定內(nèi)容存儲(chǔ)在設(shè)備內(nèi)存中或設(shè)備的SD卡上。如果將內(nèi)容存儲(chǔ)在SD卡上,請(qǐng)務(wù)必加密內(nèi)容并使用設(shè)備專(zhuān)用加密密鑰。

檢測(cè)并處理作廢的購(gòu)買(mǎi)交易

作廢的購(gòu)買(mǎi)交易是指已經(jīng)取消、撤消或退款的購(gòu)買(mǎi)交易。如果作廢的購(gòu)買(mǎi)交易此前已向用戶(hù)授予應(yīng)用內(nèi)商品或其他內(nèi)容,您可以使用Voided Purchases API獲悉購(gòu)買(mǎi)交易作廢的原因并獲得您可以收回的任何關(guān)聯(lián)內(nèi)容。

注意:如果作廢的購(gòu)買(mǎi)交易沒(méi)有任何與之關(guān)聯(lián)的可收回內(nèi)容,Voided Purchases API不會(huì)公開(kāi)此類(lèi)購(gòu)買(mǎi)交易。

購(gòu)買(mǎi)應(yīng)用內(nèi)商品和訂閱的交易可能出于各種原因而作廢,其中包括:

用戶(hù)、開(kāi)發(fā)者或Google取消購(gòu)買(mǎi)交易。請(qǐng)注意,對(duì)于訂閱,這是指取消購(gòu)買(mǎi)訂閱的交易,而不是取消訂閱本身。

購(gòu)買(mǎi)交易被退款。

應(yīng)用開(kāi)發(fā)者取消用戶(hù)訂單或退款,并在控制臺(tái)中選中“撤消”選項(xiàng)。

您可以根據(jù)購(gòu)買(mǎi)交易作廢的原因并考慮用戶(hù)以前的行為數(shù)據(jù)來(lái)決定相應(yīng)的操作。我們建議您執(zhí)行以下一項(xiàng)或多項(xiàng)操作:

執(zhí)行收回商品操作:如果購(gòu)買(mǎi)交易作廢,您可以收回未使用的商品,視同其從未出售過(guò)。例如,如果游戲幣購(gòu)買(mǎi)交易作廢,您可以收回已經(jīng)授予用戶(hù)的游戲幣。如果用戶(hù)已經(jīng)花掉了游戲幣,可以考慮將游戲幣余額設(shè)置為負(fù)數(shù),并限制應(yīng)用活動(dòng)和未來(lái)的購(gòu)買(mǎi)交易,直到游戲幣余額為正數(shù)。

實(shí)施多次警示:可以考慮對(duì)初犯者采取比較溫和的措施,比如顯示應(yīng)用內(nèi)警告。對(duì)于屢犯者,應(yīng)考慮采取更嚴(yán)厲的措施。

暫時(shí)禁止購(gòu)買(mǎi):與實(shí)施多次警示類(lèi)似,您也可以考慮在您能夠更徹底地調(diào)查購(gòu)買(mǎi)交易作廢的原因之前,禁止購(gòu)買(mǎi)交易曾經(jīng)作廢的用戶(hù)進(jìn)行購(gòu)買(mǎi)。

暫時(shí)或永久禁止訪(fǎng)問(wèn)您的應(yīng)用:對(duì)于屢次實(shí)施惡意活動(dòng)的極端情況,應(yīng)考慮暫時(shí)或永久禁止對(duì)方訪(fǎng)問(wèn)您的應(yīng)用。

頻繁調(diào)用Voided Purchases API:當(dāng)您檢測(cè)到一筆或多筆作廢的購(gòu)買(mǎi)交易時(shí),可以考慮更頻繁地調(diào)用Voided Purchases API,以便在用戶(hù)使用前收回所購(gòu)商品。如需了解有關(guān)Voided Purchaisse API配額的更多信息,請(qǐng)參閱Voided Purchases API文檔。

幫助Google在欺詐發(fā)生前及時(shí)發(fā)現(xiàn)欺詐行為

實(shí)施某些類(lèi)型的欺詐行為的惡意用戶(hù)會(huì)創(chuàng)建多個(gè)Google帳號(hào)和應(yīng)用內(nèi)帳號(hào)來(lái)隱藏他們的活動(dòng)。

將builder中的setObfuscatedAccountId和setObfuscatedProfileId方法用于BillingFlowParams可幫助Google將Google帳號(hào)映射到應(yīng)用內(nèi)帳號(hào)。

Google會(huì)使用這些數(shù)據(jù)檢測(cè)可疑行為,并在某些類(lèi)型的欺詐性交易完成之前及時(shí)加以阻止。

針對(duì)商標(biāo)和版權(quán)侵犯采取行動(dòng)

如果您使用遠(yuǎn)程服務(wù)器發(fā)送或管理內(nèi)容,請(qǐng)確保當(dāng)用戶(hù)訪(fǎng)問(wèn)內(nèi)容時(shí),應(yīng)用能夠驗(yàn)證未鎖定內(nèi)容的購(gòu)買(mǎi)狀態(tài)。這樣,您就可以根據(jù)需要撤消使用權(quán),并最大限度地減少盜版。如果您看到自己的內(nèi)容在Google Play上被重新分發(fā),請(qǐng)務(wù)必迅速、果斷地采取行動(dòng)。如需了解更多詳情,請(qǐng)參閱版權(quán)幫助中心內(nèi)的版權(quán)常見(jiàn)問(wèn)題解答頁(yè)面。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于Google Developers,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀(guān)點(diǎn),不代表快出海對(duì)觀(guān)點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪(fǎng)
投稿采訪(fǎng)
出海管家
出海管家