public class AdMobFragment extends Fragment {
private FragmentAdMobBinding binding;
public static AdMobFragment newInstance() {
return new AdMobFragment();
}
//Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("534153A818F863B61501C7071FB0D8BA"))
private void setContainerHeight(FragmentActivity view, int id, int dp) {
ConstraintLayout layout = view.findViewById(id);
ViewGroup.LayoutParams layoutParams = layout.getLayoutParams();
layoutParams.height = dp;
layout.setLayoutParams(layoutParams);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
binding = FragmentAdMobBinding.inflate(inflater, container, false);
FragmentActivity activity = getActivity();
MobileAds.initialize(activity, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(@NonNull InitializationStatus initializationStatus) {}
});
//AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();
AdView adView = activity.findViewById(R.id.ad_view);
AdSize adSize;
DisplayMetrics displayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
adSize = AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(activity, (int) (displayMetrics.widthPixels/displayMetrics.density));
setContainerHeight(activity, R.id.ad_fragment, adSize.getHeight());
// setContainerHeight(activity, R.id.main_fragment, -adSize.getHeight());
adView.setAdSize(adSize);
//adView.loadAd(adRequest);
return binding.getRoot();
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
AdView adView = binding.adView;
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
}