android - 插页式广告未展示
问题描述
我想在用户点击阅读 pdf 文件时显示广告。没有错误只有插页式广告在 pdf 显示之前不显示,而横幅广告正在显示。请帮助我提前感谢。
这是我想在其中显示插页式广告的 java 文件的代码,
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.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;
public class book1 extends AppCompatActivity {
private AdView mAdView;
private InterstitialAd mInterstitialAd;
PDFView book1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book1);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
MobileAds.initialize(this,
"ca-app-pub-3940256099942544~3347511713");
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mInterstitialAd.loadAd(adRequest);
book1 = (PDFView) findViewById(R.id.pdfbook1);
book1.fromAsset("book1.pdf").load();
}
public void onClick(View v){
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
Log.d("TAG", "The interstitial wasn't loaded yet.");
}
}
}
解决方案
添加侦听器以查找错误。
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdOpened() {
// Code to be executed when the ad is displayed.
}
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdLeftApplication() {
// Code to be executed when the user has left the app.
}
@Override
public void onAdClosed() {
// Code to be executed when the interstitial ad is closed.
}
});
并记录错误代码并发布..或自己查找错误。
如果您知道错误代码,我可以告诉您发生了什么..或使用下面的代码列表..如果这有帮助,请标记为正确答案..
常见的错误代码是:
错误代码 0 : ERROR_CODE_INTERNAL_ERROR 这表示内部发生了一些事情;例如,从广告服务器收到无效响应。
新创建的广告单元最多可能需要 2 小时才能生效(启动时间)。来自新创建的广告单元的任何广告请求也会收到错误代码 0 以响应广告请求,直到它们准备好投放实时广告。
该怎么办?测试广告!!
错误代码1:ERROR_CODE_INVALID_REQUEST 广告请求无效;例如,广告单元 ID 不正确。
这通常表明广告请求的实现不符合 SDK 的要求 - 开发者文档中提供的示例代码和示例应用等资源可以帮助正确实现这些功能。
错误代码 2:ERROR_CODE_NETWORK_ERROR
由于网络连接,广告请求失败。
这可能是由于用户的电话切换网络或网络干扰扭曲了应用程序和广告服务器之间的通信。一些电信提供商也可能由于策略限制特定流量,这也可能导致此类错误。
错误代码 3:ERROR_CODE_NO_FILL 描述(开发文档链接):广告请求成功,但由于缺少广告资源,没有返回广告。
发生原因:广告商可以根据业务相关性定位特定区域、平台和用户资料,这有时会导致特定地区或用户资料的广告可用性较低。错误代码表明实施是正确的,并且由于在从应用程序发送广告请求的特定时刻缺乏合适的广告可用性,因此未满足广告请求。
对某些应用程序或广告单元的政策相关限制也将导致返回错误代码 3 以响应广告请求。
您可以使用记录错误
@Override
public void onAdFailedToLoad(int errorCode) {
Log.i("myAdErrorCode",errorCode);
}
推荐阅读
- python - 没有可用于写入的主节点 - PyMongo 错误
- amazon-web-services - ECS任务动态端口映射和docker通信
- api-authorization - Seo 面板 Google API 验证失败
- google-apps-script - 如何将我的同意屏幕连接到我的谷歌数据工作室连接器?
- javascript - JavaScript 生成的样式按钮
- javascript - NetSuite:将 SalesRep 和应收账款附加到客户记录中
- json - 使用动态键的 Elasticsearch 嵌套对象模式设计
- reactjs - 用于 API 调用验证的 React 与 React Static
- c++ - 计算 AVL 树的平衡因子
- java - 如何将上传到 Firebase 云存储的图像的公共 URL 上传到实时数据库