В настоящее время мы создаем приложение, которое включает в себя видео систему с вознаграждением от AdMob.Приложение имеет один MainActivity и на нем есть фрагменты.Каждый фрагмент имеет кнопку, каждый фрагмент реализует «RewardedVideoAdListener».Когда нажимаются кнопки, загруженное видео загружается и показывается.Дело в том, что каждая кнопка должна иметь различные типы вознаграждений.
Оба фрагмента выглядят так;
public class FragmentShop extends Fragment implements RewardedVideoAdListener
{
private RewardedVideoAd rewardedVideoAd;
private Button rewardButton;
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
rewardButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(rewardedVideoAd.isLoaded()){
rewardedVideoAd.show();
rewardButton.setVisibility(View.INVISIBLE);
}
else {
Toast.makeText(view.getContext(),"Try again!",Toast.LENGTH_SHORT).show();
loadRewardedVideoAd();
}
}
});
}
private void loadRewardedVideoAd() {
rewardedVideoAd.loadAd("---", //there is our key
new AdRequest.Builder().build());
}
@Override
public void onRewarded(RewardItem rewardItem) {
//Some database actions.
loadRewardedVideoAd();
}
}
Проблема в том, что независимо от того, какую кнопку мы нажимаем, запускается только функция onRewarded (), которая находится во фрагменте № 2. Так какмы можем построить структуру, в которой каждый фрагмент выполняет свою собственную функцию onRewarded ().Должны ли мы сначала использовать onRewardedVideoCompleted ()?