2
Vungle沒有任何PHP示例代碼。我的遊戲運行在PHP上,我不想使用客戶端回調。PHP中的Vungle回調
他們有一些說明: 我們有一個指導如何驗證你的回調,如下:
創建通過連接你用冒號分隔事務ID密鑰的原始交易驗證字符串: transactionString =祕密密鑰+「:」+%txid%
使用SHA-256算法將transactionString的字節散列兩次。
生成由交易驗證令牌十六進制編碼的2分連續兩輪SHA-256散列,這將是這個樣子的輸出字節:transactionToken = 870a0d13da1f1670b5ba35f27604018aeb804d5e6ac5c48194b2358e6748e2a8
檢查是否產生transactionToken等於一個發送在回調查詢字符串中作爲%digest%。
我試過這段代碼。但是,安全代碼與我不匹配。
$user = $_REQUEST['uid'];
$txid = $_REQUEST['txid'];
$digest = $_REQUEST['digest'];
error_log(print_r($_GET, TRUE), 0);
//verify hash
$test_string = "" .$MY_SECRET_KEY . ":" . $txid;
// $open_udid . $udid . $odin1 . $mac_sha1 . $custom_id;
//$test_result = md5($test_string);
error_log(print_r("test string: " . $test_string, TRUE), 0);
$result = hash('sha256', $test_string);
error_log(print_r("result: " . $result, TRUE), 0);
$test_result = hash('sha256', $result);
error_log(print_r("test result" . $test_result, TRUE), 0);
if($test_result != $digest) {
echo "vc_noreward";
error_log(print_r("failed validation", TRUE), 0);
die;
}