Ответ 1
Убедитесь, что ваше устройство имеет надлежащее подключение к Интернету. Без подключения к Интернету вы не будете получать рекламу.
Вот весь класс, который я пытаюсь загрузить в рекламу баннера (метод createAd() выполняет работу)
public class HomeActivity extends Activity {
private HomeView homeView;
private ImageView playButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// playButton = (ImageView)findViewById(R.id.playButton);
// playButton.setImageBitmap(BitmapFactory.decodeResource(getResources(),
// R.drawable.play));
// setListener();
setContentView(R.layout.home_main);
createAd();
}
private void setListener (){
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
playButton.setImageBitmap(BitmapFactory.decodeResource(getResources(),
R.drawable.play2));
playGame();
}
});
}
private void createAd(){
setContentView(R.layout.home_main);
AdView adView = (AdView)findViewById(R.id.bottomAd);
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
adRequestBuilder.addTestDevice("FEACCF89D31180ABDD853C9C3DD2E871");
// .addTestDevice("1744314CD0C7B0619F94D44CE2E5093E");
adView.loadAd(adRequestBuilder.build());
}
public void playGame() {
SharedPreferences savedData = getApplicationContext()
.getSharedPreferences("lastScore", Context.MODE_PRIVATE);
int score = savedData.getInt("lastScore", Context.MODE_PRIVATE);
Intent intent = new Intent(HomeActivity.this, GamePlay.class);
intent.putExtra("lastScore", score);
startActivity(intent);
finish();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Вот xml home_main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/homeRelative"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".HomeActivity">
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottomAd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/admob_banner_id">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
Вот мой журнал после последнего запуска
01-01 16:00:32.235 26387-26387/com.rune.colorhunt D/OpenGLRenderer﹕ Enabling debug mode 0
01-01 16:00:32.275 652-796/? I/CrashAnrDetector﹕ onPackageUpdateFinished : com.rune.colorhunt
01-01 16:00:37.351 26387-26416/com.rune.colorhunt D/dalvikvm﹕ DexOpt: --- BEGIN 'ads976472321.jar' (bootstrap=0) ---
01-01 16:00:37.361 26387-26387/com.rune.colorhunt V/WebViewChromium﹕ Binding Chromium to the main looper Looper (main, tid 1) {41d00b38}
01-01 16:00:37.361 26387-26387/com.rune.colorhunt I/chromium﹕ [INFO:library_loader_hooks.cc(112)] Chromium logging enabled: level = 0, default verbosity = 0
01-01 16:00:37.361 26387-26387/com.rune.colorhunt I/BrowserProcessMain﹕ Initializing chromium process, renderers=0
01-01 16:00:37.391 26387-26426/com.rune.colorhunt W/chromium﹕ [WARNING:proxy_service.cc(888)] PAC support disabled because there is no system implementation
01-01 16:00:37.421 26387-26387/com.rune.colorhunt I/Ads﹕ Starting ad request.
01-01 16:00:37.441 26387-26416/com.rune.colorhunt D/dalvikvm﹕ DexOpt: --- END 'ads976472321.jar' (success) ---
01-01 16:00:37.441 26387-26416/com.rune.colorhunt D/dalvikvm﹕ DEX prep '/data/data/com.rune.colorhunt/cache/ads976472321.jar': unzip in 0ms, rewrite 91ms
01-01 16:00:37.611 26387-26394/com.rune.colorhunt I/dalvikvm﹕ Total arena pages for JIT: 11
01-01 16:00:37.611 26387-26394/com.rune.colorhunt I/dalvikvm﹕ Total arena pages for JIT: 12
01-01 16:00:37.621 26387-26394/com.rune.colorhunt I/dalvikvm﹕ Total arena pages for JIT: 13
01-01 16:00:37.621 26387-26394/com.rune.colorhunt I/dalvikvm﹕ Total arena pages for JIT: 14
01-01 16:00:37.651 26387-26431/com.rune.colorhunt W/Ads﹕ There was a problem getting an ad response. ErrorCode: 2
01-01 16:00:37.691 26387-26387/com.rune.colorhunt I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
01-01 16:00:37.691 26387-26387/com.rune.colorhunt W/Ads﹕ Failed to load ad: 2
01-01 16:01:37.715 26387-26387/com.rune.colorhunt I/Ads﹕ Starting ad request.
01-01 16:01:37.825 26387-26490/com.rune.colorhunt W/Ads﹕ There was a problem getting an ad response. ErrorCode: 2
01-01 16:01:37.845 26387-26387/com.rune.colorhunt I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
01-01 16:01:37.845 26387-26387/com.rune.colorhunt W/Ads﹕ Failed to load ad: 2
01-01 16:02:37.889 26387-26387/com.rune.colorhunt I/Ads﹕ Starting ad request.
01-01 16:02:38.009 26387-26531/com.rune.colorhunt W/Ads﹕ There was a problem getting an ad response. ErrorCode: 2
01-01 16:02:38.039 26387-26387/com.rune.colorhunt I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
01-01 16:02:38.039 26387-26387/com.rune.colorhunt W/Ads﹕ Failed to load ad: 2
01-01 16:03:38.972 26387-26387/com.rune.colorhunt I/Ads﹕ Starting ad request.
01-01 16:03:39.062 26387-26783/com.rune.colorhunt W/Ads﹕ There was a problem getting an ad response. ErrorCode: 2
01-01 16:03:39.062 26387-26387/com.rune.colorhunt I/Ads﹕ Scheduling ad refresh 60000 milliseconds from now.
01-01 16:03:39.062 26387-26387/com.rune.colorhunt W/Ads﹕ Failed to load ad: 2
Если кто-то мне поможет, это будет потрясающе. Я буквально понятия не имею, в чем проблема. Возможно, я пропустил что-то очень простое и просто нуждаюсь в другой паре глаз. Любая помощь приветствуется, спасибо.
Убедитесь, что ваше устройство имеет надлежащее подключение к Интернету. Без подключения к Интернету вы не будете получать рекламу.
Объявление Admob не загружается. Ошибка 2 появляется, если на вашем устройстве неверно дата или время, просто установите корректировку автоданных на вашем устройстве.
Ошибка № 2 означает ERROR_CODE_NETWORK_ERROR
. так что проверяйте ваше интернет-соединение и по-прежнему не показывает рекламу, а затем просто перезагрузите свой мобильный и проверьте... это сработало для меня
Другой проблемой может быть приложение adblocker, предложенное в этом сообщении: fooobar.com/questions/550479/... by @Durian.
Для меня это была проблема.
У меня была аналогичная проблема. Интернет-соединение было в порядке и не было установлен рекламный блок.
Проблема может быть связана с вашим тестовым устройством. Проверьте, есть ли у вас другое приложение, содержащее Admob с вашим тестовым устройством. Вы также можете проверить с помощью другого устройства и другого приложения, содержащего Admob.
В моем случае я понял, что у моего тестового устройства есть подключение к Интернету, но не отображается реклама Admob в разных приложениях. Поэтому я попытался перезапустить свое тестовое устройство, и оно сработало.
Если вы используете реальное устройство, проверьте и другие приложения, вы знаете, что они содержат рекламу, если показываются объявления. Также проверяйте индивидуально в мобильной сети и на Wi-Fi.
Для меня он не отображается только в мобильной сети и во всех приложениях. Удаление данных служб Google Play поможет мне, и объявления снова начнут показывать. Пока GPS не вернет данные. Так это работало около одной минуты.:-D
У меня была та же проблема, что и объявление не отображалось на экране физического тестового устройства.
Я отключил свой Wi-Fi и начал использовать 3g мобильные данные, а затем мои объявления начали появляться на физических тестовых устройствах.
У меня также есть разница в зависимостях:
com.google.android.gms:play-services-ads:9.2.0
вместо 11.6.2
сначала будет ясно, какой тип добавления вы хотите загрузить, межстраничное или баннерное объявление. если вы хотите загрузить баннерную рекламу, создайте баннер ad_unit_id на сайте admob, а затем используйте AdView непосредственно в своем представлении активности, как показано ниже:
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/xadView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/admob_banner_ad_unit_id" />
и просто попросите загрузить баннерное объявление из вашего кода, как показано ниже: напишите этот код в своей деятельности внутри oncreate после setcontentview
AdView mAdView = (AdView) findViewById(R.id.xadView);
AdRequest adRequest = new AdRequest.Builder().addTestDevice(
AdRequest.DEVICE_ID_EMULATOR).build();
mAdView.loadAd(adRequest);
И
если вы хотите загружать межсайтовые объявления, создайте межстраничный ad_unit_id на сайте admob, а затем используйте его ниже:
public void showFullScreenAd() {
try {
com.google.android.gms.ads.InterstitialAd interstitial = new com.google.android.gms.ads.InterstitialAd(context);
interstitial
.setAdUnitId(ADMOB_INTERSTITIAL_AD_UNIT_ID);
// Check the logcat output for your hashed device ID to get test ads
// on
// a physical device.
com.google.android.gms.ads.AdRequest adRequest = new AdRequest.Builder()
.build();
// Load the interstitial ad.
interstitial.loadAd(adRequest);
interstitial
.setAdListener(new com.google.android.gms.ads.AdListener() {
@Override
public void onAdLoaded() {
interstitial.show();
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ПРИМЕЧАНИЕ. Важно то, что иногда мы используем идентификатор рекламного блока внутри межстраничных объявлений или идентификатор рекламного блока внутри баннерной рекламы, поэтому эта ошибка возникает.
Такое поведение вызвано тем, что приложение делает слишком много запросов объявлений одновременно, что делает SDK в плохом состоянии. Перезапуск сервисов Google Play, которые можно эффективно выполнить, очистив все данные, исправляет проблему для меня. Исправление SDK для этой проблемы будет включено в следующий выпуск сервисов Google Play. Как только ваше устройство подберет обновление, вам не нужно будет обновлять приложение. это известная проблема sdk
попробуйте отключить фоновые данные в мобильных сетях, установленные как отключенные в службах google, это работает для меня
В эмуляторе Android Studio моей проблемой было неправильное виртуальное местоположение устройства: как только я установил его в качестве реального местоположения, оно начало работать.