Admobの報酬を与えられた動画広告をフラグメントに読み込めません。 私はこの2行AdMobリワードされた動画広告がAndroidのフラグメント内に読み込まれない
mAd = MobileAds.getRewardedVideoAdInstance(getActivity());
mAd.setRewardedVideoAdListener(this);
に問題があると思います以下のコードをご確認ください。 コードはアクティビティで正常に動作していますが、フラグメントでは機能しません。
public class FragmentWatchEarn extends Fragment implements RewardedVideoAdListener {
int coins = 0;
View rootView;
Button bAdmob;
TextView tvCoins;
private RewardedVideoAd mAd;//Admob
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_watch_earn, container, false);
bAdmob = (Button) rootView.findViewById(R.id.btnAdmob);
admobAdsPart();
return rootView;
}
private void admobAdsPart() {
mAd = MobileAds.getRewardedVideoAdInstance(getActivity()); //Might me Problem in this line
mAd.setRewardedVideoAdListener(this); //Might me Problem in this line
loadAd();
bAdmob.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mAd.isLoaded()){
mAd.show();
}else {
Toast.makeText(getActivity(), "Ad not yet loaded", Toast.LENGTH_SHORT).show();
loadAd();
}
}
});
}
private void loadAd() {
if (!mAd.isLoaded()) {
mAd.loadAd("ca-app-pub-5059726881726792/4575431467", new AdRequest.Builder().build());
}
}
@Override
public void onRewardedVideoAdLoaded() {
}
@Override
public void onRewardedVideoAdOpened() {
}
@Override
public void onRewardedVideoStarted() {
}
@Override
public void onRewardedVideoAdClosed() {
}
@Override
public void onRewarded(RewardItem rewardItem) {
coins = coins + 20;
myRef.setValue("" + coins);
}
@Override
public void onRewardedVideoAdLeftApplication() {
}
@Override
public void onRewardedVideoAdFailedToLoad(int i) {
Toast.makeText(getActivity(), "Admob Ad Failed to load", Toast.LENGTH_SHORT).show();
}
}