#java #android
#java #Android
Вопрос:
Я пытаюсь добавить рекламу с вознаграждением в свое приложение, но я пробовал много раз, и я думаю, что с моим кодом что-то не так, но я не могу его найти . , пожалуйста, помогите мне с этим, и в Logcat написано 2020-10-24 08:21:44.400 26213-26213/com.example.sdde I/ RewardAdLog:Вознагражденная реклама успешно загружена
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.unit_one_activity);
//ads intialization
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
loadAd();
и здесь я показываю объявление в setOnItemClickListener из GridView
GridView unitoneView = (GridView) findViewById(R.id.unitdiv_grid);
UnitAdapter unitoneAdapter = new UnitAdapter(unitoneModelList);
unitoneView.setAdapter(unitoneAdapter);
unitoneView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
showAd();
Intent i = new Intent(getApplicationContext(), Unit1ExerciseActivity.class);
startActivityForResult(i, REQUEST_CODE_QUIZ);
i.putExtra(EXTRA_CATEGORY_ID, Category.UNIT1);
i.putExtra(EXTRA_CATEGORY_NAME, Category.UNIT1);
i.putExtra(EXTRA_DIFFICULTY, Question.DIFFICULTY_EASY);
i.putExtra(UNIT_TITLE, "Unit 1");
i.putExtra(EXERCISE_TITLE, "Exercise 1 on Vocabulary");
startActivity(i);
} // end if
и вот метод загрузки рекламы и показа рекламы
public void loadAd(){
rewardedAd = new RewardedAd(this,
"ca-app-pub-3940256099942544/5224354917");
RewardedAdLoadCallback adLoadCallback = new RewardedAdLoadCallback() {
@Override
public void onRewardedAdLoaded() {
super.onRewardedAdLoaded();
Log.i(Tag, "RewardedAd Loaded Successfully");
unitoneView.setEnabled(true);
}
@Override
public void onRewardedAdFailedToLoad(LoadAdError loadAdError) {
super.onRewardedAdFailedToLoad(loadAdError);
Log.i(Tag, "RewardedAd Loaded Failed");
}
};
rewardedAd.loadAd(new AdRequest.Builder().build(), adLoadCallback);
}
public void showAd() {
if (rewardedAd.isLoaded()) {
Activity activityContext = UnitOneActivity.this;
RewardedAdCallback adCallback = new RewardedAdCallback() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
}
@Override
public void onRewardedAdOpened() {
super.onRewardedAdOpened();
Log.i(Tag, "RewardedAd Loaded opened");
}
@Override
public void onRewardedAdClosed() {
super.onRewardedAdClosed();
Log.i(Tag, "RewardedAd closed");
unitoneView.setEnabled(false);
loadAd();
}
@Override
public void onRewardedAdFailedToShow(AdError adError) {
super.onRewardedAdFailedToShow(adError);
Log.i(Tag, "RewardedAd Failed To Show");
}
};
this.rewardedAd.show(this, adCallback);
} else {
Log.d("TAG", "The rewarded ad wasn't loaded yet.");
}
}
Комментарии:
1. Ваш apk доступен в Play Store?
2. Нет, я пытаюсь добавить тестовое объявление. она еще не загружена в магазин
3. Что вы подразумеваете под успешной загрузкой, но не отображается?