gpt4 book ai didi

java - 关闭后保存奖励广告值(value)

转载 作者:行者123 更新时间:2023-12-01 17:41:50 26 4
gpt4 key购买 nike

观看激励广告视频后, TextView 会显示奖励积分。每个视频后积分都会累积。但是,当应用程序关闭时,积分将被删除。我希望当用户返回应用程序时继续显示这些点。我无法弄清楚这是否是 onDestroy 方法或 savinginstance 的一部分。

    public class ProfileActivity extends AppCompatActivity implements RewardedVideoAdListener {

TextView mText, userEmail;
private int pointCount;

private TextView dateTimeDisplay;
private Calendar calendar;
private SimpleDateFormat dateFormat;
private String date;

Button userLogout;
Button goToHome;
ImageView ivQR;
private AdView mAdView;
FirebaseAuth firebaseAuth;
FirebaseUser firebaseUser;
FirebaseDatabase firebaseDatabase;
DatabaseReference databaseReference;
private RewardedVideoAd mRewardedVideoAd;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);

//rewards ads
//ca-app-pub-9125010107042455/6647636731 actual
//ca-app-pub-3940256099942544~3347511713 for testing
MobileAds.initialize(getApplicationContext(), ("ca-app-pub-9125010107042455/6647636731"));
// Use an activity context to get the rewarded video instance.
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
mRewardedVideoAd.setRewardedVideoAdListener(this);

//points count
mText = findViewById(R.id.textView);
pointCount = 0;
mText.setText("Points: " + pointCount);

loadRewardedVideoAd();

private void loadRewardedVideoAd (){

if (!mRewardedVideoAd.isLoaded()){
//ca-app-pub-9125010107042455/6647636731 actual
//ca-app-pub-3940256099942544/5224354917 for testing
mRewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917",new AdRequest.Builder().build());
}
}

public void startVideoAd(View view){
if(mRewardedVideoAd.isLoaded()){
mRewardedVideoAd.show();
}
}

@Override
public void onRewardedVideoAdLoaded() {

}

@Override
public void onRewardedVideoAdOpened() {

}

@Override
public void onRewardedVideoStarted() {

}

@Override
public void onRewardedVideoAdClosed() {

loadRewardedVideoAd();

}

private void addPoints(int points) {
pointCount += points;
mText.setText("Points: " + pointCount);
}

@Override
public void onRewarded(RewardItem rewardItem) {

Toast.makeText(ProfileActivity.this, "🔥 Points 🔥", Toast.LENGTH_SHORT).show();
addPoints(rewardItem.getAmount());

}

@Override
public void onRewardedVideoAdLeftApplication() {

}

@Override
public void onRewardedVideoAdFailedToLoad(int i) {

}

@Override
protected void onPause() {
mRewardedVideoAd.pause(this);
super.onPause();
}

@Override
protected void onResume() {
mRewardedVideoAd.resume(this);
super.onResume();

}

@Override
protected void onDestroy() {
mRewardedVideoAd.destroy(this);
super.onDestroy();
}

@Override
public void onRewardedVideoCompleted() {

}
}

最佳答案

您应该使用onSaveInstanceState(Bundle savingInstanceState)方法来保存点数。

您可以通过执行以下操作来实现:

//This is what will be used to recognize your number of points in the saved bundle.
static final String POINTS = "pointCount";

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save your number of points
savedInstanceState.putInt(POINTS, pointCount);

super.onSaveInstanceState(savedInstanceState);
}

然后调用onRestoreInstanceState(Bundle savingInstanceState)方法即可恢复点数。

public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);

// Restore your number of points and store them in your variable
pointCount = savedInstanceState.getInt(POINTS);
}

如果需要进一步解释,请引用官方文档https://developer.android.com/guide/components/activities/activity-lifecycle#java

关于java - 关闭后保存奖励广告值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60138275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com