我们整理了常见问题的列表,其中包含您可能需要的答案,但是,如果您找不到自己的答案,可以 联系我们.
回发功能使您可以奖励用户对游戏进行投票。
这是一种邀请用户将您的游戏推广到列表顶部的好方法。
我们设计了与众不同的Postback系统。 它会将您近乎实时的数据发送回您的网站,因此您可以自动奖励用户的投票。
默认情况下,对每个添加的列表禁用“回发”功能。 您必须通过单击“操作”部分,分别从您的帐户中为每个列表启用发布功能。
步骤1:
准备您的回发接收器,可以在您的CMS /网站中实现它,也可以使用下面的示例。
将以下代码另存为 supremetop_postback.php:
// If you use this check, the below are not relevant.
// However we do not recommened relying on IP checks as this might change in the future
$requester_ip = isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER['REMOTE_ADDR'];
$supremetop100_ips = ['176.31.56.245'];
if(!in_array($requester_ip, $supremetop100_ips)) {
// Do not give too many details, because the attacker is smart.
die('Invalid request!');
}
// Ensure that it is a POST request.
if(strcasecmp($_SERVER['REQUEST_METHOD'], 'POST') != 0) {
// Do not give too many details, because the attacker is smart.
die('Invalid request!');
}
// Ensure that this is SupremeTop100 sending the request
if(strcasecmp($_SERVER['HTTP_USER_AGENT'], 'SupremeTop100/1.0 (Linux; x64) Postback Agent') != 0) {
// Do not give too many details, because the attacker is smart.
die('Invalid request!');
}
// Ensure that the content type of the POST request has been set to application/json
$contentType = isset($_SERVER["CONTENT_TYPE"]) ? trim($_SERVER["CONTENT_TYPE"]) : '';
// For RESTful response
// For "normal" response use 'application/x-www-form-urlencoded'
if(strcasecmp($contentType, 'application/json') != 0) {
// Do not give too many details, because the attacker is smart.
die('Invalid request!');
}
// Retrieve the RAW POST data.
$content = trim(file_get_contents("php://input"));
// Attempt to decode the incoming RAW POST data from JSON.
$decoded = json_decode($content, true);
// If json_decode failed, the JSON is invalid.
if(!is_array($decoded)) {
// Do not give too many details, because the attacker is smart.
die('Invalid request!');
}
// Process the JSON parsed as array.
if($decoded['supremetop100_vote_info']['status'] == 1) {
// Rewards your user by username or character name
}
// Additionally log the whole postback data to file or database
$log_filename = sprintf("%s_voteData.txt", date('Y-m-d_H-i-s'));
@file_put_contents($log_filename, print_r($decoded, true));
第2步:
通过指定我们刚刚保存的文件的完整URI路径,为您的清单激活回发: https://yourwebsite.com/supremetop100_postback.php
注意:您不需要在此处添加任何URL参数.
第三步:
您需要修改链接中的现有投票,以包括 ?postback=1 URL参数.
将您想要的参数添加到URL,以便知道要奖励的用户。 您可以添加2个参数:
您可以选择将两者都添加:
警告:
不要添加任何其他参数,因为它们都不使用。 除了上面两个参数外,不要在上面的两个参数中添加任何其他内容,例如,不要添加电子邮件地址。 这样做只会破坏您的回发功能。
最后一步:
确保按照说明进行了所有设置,否则回发系统将无法正常工作.
提醒一下,您需要确保以下几点:
响应回发:
我们的系统将向您发送尽可能多的信息,以便您可以正确检查用户是否合法投票.
您还可以将我们的回复用作统计信息,以查看他们从何处/何处投票或尝试投票.
(可选)您可以使用我们的响应时间向用户显示他已在时限内进行了投票.
您将收到的响应如下(JSON格式,出于隐私目的删除了一些数据):
{
"supremetop100_vote_info":{
"status": 0,
"message": "This IP already voted in last 12 hours.",
"time_passed": "01 hours 35 minutes 47 seconds.",
"time_left": "10 hours 24 minutes 13 seconds."
},
"supremetop100_user_info":{
"ip_address": "",
"username": "",
"character": ""
},
"supremetop100_geo_info":{
"country":{
"name": "",
"iso_code": "",
"geo_code": "",
"in_eu": ""
},
"city":{
"name": "",
"postal_code": ""
},
"location":{
"latitude": "",
"longitude": ""
},
"network":{
"cidr": "",
"asn":{
"number ":"",
"organisation ":""
}
}
}
}
最后的笔记:
我们不会透露如何检查用户投票,但可以为您提供建议,以确保您的用户不会利用您的奖励.
使用我们发送给您的信息,将其存储在数据库中,并检查用户名/字符和投票时间.
这将确保他们仅根据您自己的规则合法获得奖励.
在此页面上发现问题? 请帮助我们改进它。 与我们联系并获得奖励!