kum*_*ttu 6 error-handling android admob
//这是我要加载广告的活动
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
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.LoadAdError;
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 TenaliRamanActivity extends AppCompatActivity {
ListView listView;
private InterstitialAd mInterstitialAd;
private AdView mAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tenali_raman);
Run Code Online (Sandbox Code Playgroud)
//AD代码开始
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);
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
Run Code Online (Sandbox Code Playgroud)
// 我重写 onAdFailedToLoad() 方法来了解为什么我的广告没有显示并收到错误代码 3,消息“无广告配置”
@Override
public void onAdFailedToLoad(LoadAdError adError) {
Toast.makeText(TenaliRamanActivity.this, " Banner AdError is "+ adError,
Toast.LENGTH_LONG).show();
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
@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 user is about to return
// to the app after tapping on an ad.
}
});
Run Code Online (Sandbox Code Playgroud)
// 插页式代码从这里开始
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-4745680273727033/3318988209");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
Run Code Online (Sandbox Code Playgroud)
//我还吐槽了我的 Inetrstitial Ad 错误消息并收到相同的错误代码 3,消息“无广告配置”[我的错误是这样][1]
**@Override
public void onAdFailedToLoad(LoadAdError adError) {
Toast.makeText(TenaliRamanActivity.this, " Instertial Ad Error is"+ adError,
Run Code Online (Sandbox Code Playgroud)
Toast.LENGTH_SHORT).show();
enter code here}**
@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.
}
});
// Start Application Code
listView= findViewById(R.id.listView);
String[] tenaliRaman= getResources().getStringArray(R.array.tenaliRaman);
ArrayAdapter<String> adapter= new ArrayAdapter<>(this,R.layout.row_item, R.id.rowText, tenaliRaman);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
Intent intent= new Intent(TenaliRamanActivity.this, StoryTenaliRaman.class);
intent.putExtra("storyPosition", position);
startActivity(intent);
}
}
});
}
}
[1]: https://i.stack.imgur.com/rNFvv.png
Run Code Online (Sandbox Code Playgroud)
首先进入项目级别的build.gradle
allprojects {
repositories {
google()
}
}
Run Code Online (Sandbox Code Playgroud)
而不是google()使用这个
maven {
url 'https://maven.google.com/'
name 'Google'
}
Run Code Online (Sandbox Code Playgroud)
您使用了测试 ID 吗?
现在转到您的清单文件
确保您在您的应用程序中添加了 INTERNET 权限AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml并且还可以在您的应用程序中使用测试 admob 应用程序 ID
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
Run Code Online (Sandbox Code Playgroud)
测试 AdMob 应用 ID:ca-app-pub-3940256099942544~3347511713
然后你还可以在这里找到其余的测试 ID
应用程序打开:ca-app-pub-3940256099942544/3419835294
横幅:ca-app-pub-3940256099942544/6300978111
插页式广告:ca-app-pub-3940256099942544/1033173712
插页式视频:ca-app-pub-3940256099942544/8691691433
奖励:ca-app-pub-3940256099942544/5224354917
奖励插页式广告:ca-app-pub-3940256099942544/5354046379
本机高级:ca-app-pub-3940256099942544/2247696110
原生高级视频:ca-app-pub-3940256099942544/1044960115
将您的 ID 替换为这些测试 ID,以便能够在测试模式下看到您的广告
| 归档时间: |
|
| 查看次数: |
5831 次 |
| 最近记录: |