#java #android #firebase #admob
#java #Android #firebase #admob
Вопрос:
Я бы хотел добавить рекламу admob во фрагменты в моем приложении. Я уже добавил рекламу в XML-файлы. Однако у меня возникли проблемы с java-частью. Не могли бы вы, пожалуйста, поделиться кодом Java с rootview? Я проверил другие статьи, но я в замешательстве.
HomeFragment.java
private AdView mAdView;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootview = inflater.inflate(R.layout.fragment_home, container, false);
ButterKnife.bind(this, rootview);
mFragmentPositionMap = CommonCodeUtils.getInstance().fillNavigationItemsMap(true);
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
imagesToPdf.setOnClickListener(this);
qrbarcodeToPdf.setOnClickListener(this);
textToPdf.setOnClickListener(this);
viewFiles.setOnClickListener(this);
viewHistory.setOnClickListener(this);
splitPdf.setOnClickListener(this);
mergePdf.setOnClickListener(this);
compressPdf.setOnClickListener(this);
removePages.setOnClickListener(this);
rearrangePages.setOnClickListener(this);
extractImages.setOnClickListener(this);
mPdfToImages.setOnClickListener(this);
addPassword.setOnClickListener(this);
removePassword.setOnClickListener(this);
rotatePdf.setOnClickListener(this);
addWatermark.setOnClickListener(this);
addImages.setOnClickListener(this);
removeDuplicatePages.setOnClickListener(this);
invertPdf.setOnClickListener(this);
zipToPdf.setOnClickListener(this);
excelToPdf.setOnClickListener(this);
extractText.setOnClickListener(this);
addText.setOnClickListener(this);
mAdapter = new RecentListAdapter(this);
recentList.setAdapter(mAdapter);
return rootview;
}
Добавлено это в fragment_home.xml
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@ id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
Однако он возвращает ошибку с частью findViewById. И я также хотел бы знать, что следует добавить в файл манифеста.
Комментарии:
1. Вы смотрели здесь ?
2. Да, это работает с активностью, но не с фрагментами
3. Вопрос касается фрагментов.
Ответ №1:
Вы должны запустить это на своем Activity
:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {}
});
}
и это на вашем Fragment
:
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
AdView adView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}