将奖励按钮按下限制为每小时一次
limit reward button press to once an hour
我在我的应用程序中设置了奖励广告系统。目前,每次我按下奖励按钮时,都会显示奖励广告。但我想将此限制为每小时单击一次。
这是我的按钮 onclick,它位于我的广告加载方法中。我这样做是因为在某些互联网连接速度较慢的设备上,在人们按下按钮之前广告没有加载。
@Override
public void onRewardedVideoAdLoaded() {
Toast.makeText(Competition.this, "Advert loaded please click the Reward button to continue", Toast.LENGTH_LONG).show();
btn1 = (Button) findViewById(R.id.btncomp_ok);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showRewardedVideo();
}
});
}
我还有一个连接到我的应用程序的 Firebase 数据库。这会计算广告被观看到最后的次数。
ref.child("Reward").child(Userid).child("screenname").setValue(Username);
ref.child("Reward").child(Userid).child("watched").runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
if (mutableData.getValue() == null) {
mutableData.setValue(1);
} else {
int count = mutableData.getValue(Integer.class);
mutableData.setValue(count + 1);
}
;
return Transaction.success(mutableData);
}
您可以检查他们最后一次点击的时间,并确保在调用 showRecordedVideo() 之前已经过了一个小时。 lastClickTime 可以存储在 db 或 sharedpreferences 中。
@Override
public void onRewardedVideoAdLoaded() {
static int ONEHOUR = 60 * 60 * 1000;
Toast.makeText(Competition.this, "Advert loaded please click the Reward button to continue", Toast.LENGTH_LONG).show();
btn1 = (Button) findViewById(R.id.btncomp_ok);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (System.currentTimeMillis() >= lastClickTime + ONEHOUR) {
showRewardedVideo();
}
}
});
}
我在我的应用程序中设置了奖励广告系统。目前,每次我按下奖励按钮时,都会显示奖励广告。但我想将此限制为每小时单击一次。
这是我的按钮 onclick,它位于我的广告加载方法中。我这样做是因为在某些互联网连接速度较慢的设备上,在人们按下按钮之前广告没有加载。
@Override
public void onRewardedVideoAdLoaded() {
Toast.makeText(Competition.this, "Advert loaded please click the Reward button to continue", Toast.LENGTH_LONG).show();
btn1 = (Button) findViewById(R.id.btncomp_ok);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showRewardedVideo();
}
});
}
我还有一个连接到我的应用程序的 Firebase 数据库。这会计算广告被观看到最后的次数。
ref.child("Reward").child(Userid).child("screenname").setValue(Username);
ref.child("Reward").child(Userid).child("watched").runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
if (mutableData.getValue() == null) {
mutableData.setValue(1);
} else {
int count = mutableData.getValue(Integer.class);
mutableData.setValue(count + 1);
}
;
return Transaction.success(mutableData);
}
您可以检查他们最后一次点击的时间,并确保在调用 showRecordedVideo() 之前已经过了一个小时。 lastClickTime 可以存储在 db 或 sharedpreferences 中。
@Override
public void onRewardedVideoAdLoaded() {
static int ONEHOUR = 60 * 60 * 1000;
Toast.makeText(Competition.this, "Advert loaded please click the Reward button to continue", Toast.LENGTH_LONG).show();
btn1 = (Button) findViewById(R.id.btncomp_ok);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (System.currentTimeMillis() >= lastClickTime + ONEHOUR) {
showRewardedVideo();
}
}
});
}