Tapjoy自管理虛擬貨幣

來源: Tapjoy
作者:Tapjoy
時間:2020-12-18
17264
自管理虛擬貨幣當(dāng)您使用您自己的服務(wù)器管理貨幣時使用。這種方式可以讓您更好的管理您的用戶的貨幣,同時也意味著您要負(fù)責(zé)存儲和分發(fā)用戶的貨幣。getCurrencyBalance, awardCurrency, 和 spendCurrency接口只在Tapjoy管理貨幣可用。

pexels-andrea-piacquadio-3766227.jpg

自管理虛擬貨幣

自管理虛擬貨幣當(dāng)您使用您自己的服務(wù)器管理貨幣時使用。這種方式可以讓您更好的管理您的用戶的貨幣,同時也意味著您要負(fù)責(zé)存儲和分發(fā)用戶的貨幣。getCurrencyBalance, awardCurrency, 和 spendCurrency接口只在Tapjoy管理貨幣可用。Tapjoy并不提供自管理虛擬貨幣任何客戶端或者App端的通知,當(dāng)我們給您的服務(wù)器回調(diào)時,您要負(fù)責(zé)通知app和用戶。您必須為自管理虛擬貨幣設(shè)置回調(diào)服務(wù)器。

注意: Tapjoy會以最快的速度獎勵用戶,但是我們不能保證每次獎勵都是實時的,因為有很多因素都會影響到獎勵的花費時間。我們推薦您定期在某些地方檢查用戶余額,比如應(yīng)用啟動,應(yīng)用重新激活,升級時,視頻關(guān)閉時,打開應(yīng)用商店之前等。我們建議您可以通知客戶完成廣告需要一定的時間。

注意: 即使自管理虛擬貨幣,每一個平臺都必須定義虛擬貨幣。

1. 回調(diào)URL

當(dāng)用戶完成廣告并獲得獎勵時,我們會發(fā)一個an HTTP GET request到如下URL。參數(shù)的格式如下

<callback_url>?snuid=<user_id>&currency=<currency>&mac_address=<mac_address>

//Example

http://www.sampledoman.com/payments/offers/tapjoy?&amp;snuid=42&amp;currency=50&amp;mac\_address=00-16-41-34-2C-A6

默認(rèn)的回調(diào)參數(shù)包括snuid, currency(給用戶獎勵數(shù)目)和用戶的wifi mac_address (如果可用).

服務(wù)器響應(yīng)

Tapjoy服務(wù)器期望從您的服務(wù)器得到200或者403響應(yīng)。

您的服務(wù)器只有在如下情況下給200響應(yīng):

用戶正確得到了獎勵。

您的服務(wù)器在如下情況下給403響應(yīng):

verifier參數(shù)和計算值不一致

snuid參數(shù)在您的系統(tǒng)中不存在

其他不可用重試的錯誤

如果收到了200和403之外的響應(yīng),Tapjoy會重試。(注意如果回復(fù)非200響應(yīng),請不要獎勵客戶,因為Tapjoy會重試回調(diào),這樣的話有可能會導(dǎo)致重復(fù)獎勵。) 我們會在4天之內(nèi)每兩分鐘嘗試一次。如果5秒之內(nèi)沒有收到任何響應(yīng),我們會任何回調(diào)失敗。

注意:響應(yīng)的主體需要是UTF-8。如果不是UTF-8,即使響應(yīng)200,我們還是會重試。

防作弊可選參數(shù)

您可以通過控制面板 > 變現(xiàn) > 虛擬貨幣 > 創(chuàng)建/編輯來得到您虛擬貨幣的安全密鑰。這個密鑰不同于應(yīng)用的SDK密鑰。使用在回調(diào)中使用虛擬貨幣密鑰:

如果在虛擬貨幣中設(shè)置了secret key,我們將會在回調(diào)中添加如下參數(shù):I

id – 具體一次獎勵的唯一id (注意這不是currency_id,代表的 request_id)

verifier – 使用 id, snuid, currency 和密鑰得到的MD5值 (參考Verifier說明)

常見作弊場景

如果您看到在回調(diào)URL中id被重用或者verifier不正確,可以考慮為作弊。

如果您的user id值只包含數(shù)據(jù),我們建議您執(zhí)行簡單的驗證,以確保不會混淆用戶標(biāo)識。比如Tapjoy區(qū)分 “001234″ and “1234″ 為兩個user id,但是您的系統(tǒng)有可能不區(qū)分。

Verifier

verifier是利用通過冒號分割的id, snuid, currency 和密鑰MD5哈希而成,在Ruby代碼如下:

Digest::MD5.hexdigest("#{id}:#{snuid}:#{currency}:#{secret_key}")

您的服務(wù)器要重新計算verifier,拒絕任何不匹配的請求。如果verifier不匹配,服務(wù)器響應(yīng)403.

注意每個應(yīng)用要使用不同的密鑰,不要在所有的應(yīng)用使用相同的密鑰,如果使用相同的密鑰,有可能會導(dǎo)致在多個應(yīng)用中同時獎勵用戶。以上id代表的是request_id而不是currency_id。

NO_CALLBACK

在一些情況下您需要配置no callback。如果在URL中配置NO_CALLBACK,可以避免服務(wù)器收到?jīng)]必要的回調(diào)。比較常用的情形是客戶正在使用聚合平臺,聚合平臺來處理相關(guān)獎勵。如果用戶配置NO_CALLBACK, 我們將不會回調(diào)。

2. 用戶ID

調(diào)用 setUserID對于使用自管理虛擬貨幣非常重要。setUserID中的值即是在回調(diào)URL中snuid的值。請一定要調(diào)用Tapjoy connect成功之后和請求廣告之前調(diào)用setUserID(在SDK 11.7之后版本,Tapjoy SDK實現(xiàn)了設(shè)置成功/失敗的回調(diào),建議在請求廣告之前監(jiān)聽這些回調(diào))。如果設(shè)置不正確,您的App 用戶將不會得到獎勵并且您也無法得到收益。setUserID需要設(shè)置用戶在游戲中的唯一ID(一般是數(shù)字)。**出于數(shù)據(jù)安全和GDPR合規(guī)性的要求,setUserID參數(shù)不應(yīng)該包括任何身份信息,比如用戶名,真實姓名或者郵箱地址。**出于安全和反作弊的目的,user ID要是始終如一的。(比如不能隨著用戶的等級或者分?jǐn)?shù)改變而改變)

只有在您的游戲沒有唯一ID的情況下,我們建議您按如下方式設(shè)置:

iOS 6 及以上,調(diào)用setUserID("vendor_id:").

iOS 5 及以下,調(diào)用setUserID("mac_address:")

在支持移動網(wǎng)絡(luò)的Android設(shè)備上,調(diào)用setUserID("device_id:")

在僅支持Wifi的Android設(shè)備上(例如 Nexus 7),調(diào)用setUserID("device_id:")

User ID支持最多190個字符的長度。 setUserID中的值即是在回調(diào)URL中snuid的值。

iOS 用法

[Tapjoy setUserID:@"userID"]; // only do this call AFTER the Tapjoy Connect call succeeds

Android 用法

Tapjoy.setUserID(String userID); // only do this call AFTER the Tapjoy Connect call succeeds

故障解決: 如果您調(diào)用了setUserID,但是在回調(diào)URL中并非您設(shè)置的值,您需要在調(diào)用積分墻或視頻廣告之前調(diào)用setUserID。如果沒有設(shè)置userID,默認(rèn)我們會使用設(shè)備id作為snuid,比如,用戶在調(diào)用設(shè)置setUserID之前進(jìn)入了積分墻,所以請一定在調(diào)用connect之后調(diào)用。

如果您沒有設(shè)置user ID,我們會使用device ID作為user ID。一般情況下,我們使用廣告ID。但是這取決于SDK版本,設(shè)備型號,設(shè)備操作系統(tǒng)版本和Google Play Service版本。其他可能的device ID包括Android ID,udid和mac地址。

3. Tapjoy管理虛擬貨幣和自管理虛擬貨幣切換

如果您的應(yīng)用還沒有實際的用戶,您可以在Tapjoy控制面板中編輯虛擬貨幣頁面從Tapjoy管理虛擬貨幣切換到自管理虛擬貨幣。在切換時一定要填寫正確的回調(diào)URL或者NO_CALLBACK,要不然改變將不會起作用。

如果您線上的app正在使用Tapjoy管理虛擬貨幣,切換的流程比較復(fù)雜,您需要考慮如下的事情:

您需要創(chuàng)建包含一個新SDK密鑰的新App。這樣可以保證沒有升級到最新版本的老版本的用戶不受到影響。如果您在自管理虛擬貨幣版本的App中使用相同的SDK密鑰,在Tapjoy管理的版本中的用戶將不會得到獎勵。

您需要暫停定向到老的App ID的廣告,然后創(chuàng)建新的廣告指向新的App ID。

切換到自管理虛擬貨幣還需要您代碼的改動。您將不能使用getCurrencyBalance, awardCurrency, 或者spendCurrency,這些接口只能在托管情況下使用。

在切換之前請咨詢您的AM。

我們無法從自管理虛擬貨幣切換回Tapjoy管理,所以請慎重選擇。

遷移用戶余額,推薦如下步驟:

在首次啟動時,使用Tapjoy管理虛擬貨幣老的SDK密鑰,調(diào)用getCurrencyBalance來獲取余額。

使用getCurrencyBalance獲得的值更新您的余額。

在接下來的調(diào)用中使用新的SDK密鑰。

如果您正在考慮切換到自管理虛擬貨幣模式,但是您不確定怎樣搭建您自己的服務(wù)器,我們推薦您參考下面鏈接中的方案 Parse 或者 UrbanAirship。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Tapjoy,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多