I am newbie in Android and I am trying to use AdMob rewarded ad in fragment.My app have bottom navigation bar which has three fragments. I want to know how to load rewarded ad in fragment.
Asked
Active
Viewed 568 times
2 Answers
0
In documentation this means context in activity, in fragment, you should use requireActivity(). Always check the documentation.

alpertign
- 296
- 1
- 4
- 13
0
There is no difference in the usage of Rewarded ads apart from the context and the code in onCreate of activity to the onCreateView() part of the lifecycle method .
Here is a reference code
private RewardedVideoAd mRewardedVideoAd;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
rootView = inflater.inflate(R.layout.fragment_main, container, false);
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(getContext());
mRewardedVideoAd.setRewardedVideoAdListener(rewardedVideoAdListener);
CircleImageView circleImageView = (CircleImageView)rootView.findViewById(R.id.btn_play);
circleImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loadRewardedVideoAd();
}
});
return rootView;
}
RewardedVideoAdListener rewardedVideoAdListener = new RewardedVideoAdListener() {
@Override
public void onRewardedVideoAdLoaded() {
Toast.makeText(getActivity(), "onRewardedVideoAdLoaded", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdOpened() {
Toast.makeText(getActivity(), "onRewardedVideoAdOpened", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoStarted() {
Toast.makeText(getActivity(), "onRewardedVideoStarted", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdClosed() {
Toast.makeText(getActivity(), "onRewardedVideoAdClosed", Toast.LENGTH_SHORT).show();
////// UpdateDataBase
}
@Override
public void onRewarded(RewardItem reward) {
Toast.makeText(getActivity(), getString(R.string.on_rewarded_video) + " " + reward.getAmount() + " " + reward.getType(), Toast.LENGTH_LONG).show();
// Reward the user.
}
@Override
public void onRewardedVideoAdLeftApplication() {
Toast.makeText(getActivity(), "onRewardedVideoAdLeftApplication", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdFailedToLoad(int i) {
Toast.makeText(getActivity(), "onRewardedVideoAdFailedToLoad", Toast.LENGTH_SHORT).show();
}
};
private void loadRewardedVideoAd() {
mRewardedVideoAd.loadAd("ca-app-pub-#################/##########",
new AdRequest.Builder().build());
}

Narendra_Nath
- 4,578
- 3
- 13
- 31