嗨,我不是编码员,如果您用正确的错误替换错误,那就太好了。我通过教程开发了此应用。当我按下按钮时,我想展示广告,然后,应该打开pdf书。但是目前,它还没有显示出出路。
package com.example.chickenfarmingurduguidebook;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.github.barteksc.pdfviewer.PDFView;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class book1 extends AppCompatActivity {
private AdView mAdView;
InterstitialAd mInterstitialAd;
private InterstitialAd interstitial;
PDFView book1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book1);
MobileAds.initialize(this,
"ca-app-pub-2352842633805231~7068128548");
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
interstitial = new InterstitialAd(book1.this);
interstitial.setAdUnitId("ca-app-pub-2352842633805231/4128772888");
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
displayInterstitial();
}
});
book1 = (PDFView) findViewById(R.id.pdfbook1);
book1.fromAsset("book1.pdf").load();
}
public void displayInterstitial() {
if (interstitial.isLoaded()) {
interstitial.show();
}else {
Log.d("TAG", "The interstitial wasn't loaded yet.");
}
}
}
尝试这样的事情:
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
displayInterstitial();
}
public void onAdOpened() { // Called when an ad opens an overlay that covers the screen.
book1 = (PDFView) findViewById(R.id.pdfbook1);
book1.fromAsset("book1.pdf").load();
}
});
这意味着广告加载过多(并希望显示在屏幕上),然后您将书显示在其背后的背景中。因此,当广告结束/将其关闭时,他们会看到您的书。
[如果我要重写您的活动并整理一下。它可能看起来像这样(将Activity名称从book1更改为ViewBookActivity):
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import com.github.barteksc.pdfviewer.PDFView;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.MobileAds;
public class ViewBookActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book1);
MobileAds.initialize(this, "ca-your-ad-id");
AdView adView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
InterstitialAd interstitial = new InterstitialAd(book1.this);
interstitial.setAdUnitId("ca-your-ad-unit");
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
displayInterstitial(interstitial);
}
@Override
public void onAdOpened() {
PDFView book1 = (PDFView) findViewById(R.id.pdfbook1);
book1.fromAsset("book1.pdf").load();
}
});
}
public void displayInterstitial(InterstitialAd advert) {
if (advert.isLoaded()) {
advert.show();
} else {
Log.d("TAG", "The interstitial wasn't loaded yet.");
}
}
}