当前位置: 首页 > 知识库问答 >
问题:

Admob 广告在真实设备上不起作用

斜瑞
2023-03-14

我试图使用新的Google-service-libs在我的应用中设置AdMob广告。在Genymotion模拟器广告中一切看起来都很好。但他们没有像我的Galaxy Ace GT5830i和Android 2.3.6这样的真实设备。我不知道是什么问题。

下面是一些代码:

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/titleBar"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@drawable/title_bar"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/iconImg"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_gravity="center"
            android:layout_margin="5dip"
            android:background="@drawable/app_icon" />

        <ImageView
            android:id="@+id/titleImg"
            android:layout_width="160dp"
            android:layout_height="45dp"
            android:layout_gravity="center"
            android:layout_margin="5dip"
            android:background="@drawable/title" />

        <RelativeLayout
            android:id="@+id/pagerBtn"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:paddingRight="2dip" >

            <ImageButton
                android:id="@+id/pager"
                android:layout_width="45dp"
                android:layout_height="35dp"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:background="@drawable/button_clicked"
                android:scaleType="fitXY"
                android:src="@drawable/pager" />
        </RelativeLayout>
    </LinearLayout>

    <View
        android:layout_width="fill_parent"
        android:layout_height="5dip"
        android:background="@drawable/shadow" >
    </View>

<com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        ads:adSize="BANNER"
        ads:adUnitId="@string/adUnitId" />

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/buttons"
        android:divider="#351802"
        android:dividerHeight="2dp"
        android:listSelector="@drawable/list_selector" />

</LinearLayout>

我的Ad_Unit_Id以字符串形式保存。res/文件夹中的xml文件。

java语言:

AdView ad = (AdView) findViewById(R.id.adView);

        AdRequest req = new AdRequest.Builder().build();

        ad.loadAd(req);

如果您需要更多代码,请告诉我。谢谢

共有2个答案

须衡虑
2023-03-14

尝试根据设备的屏幕分辨率动态定义广告的adsize

 AdSize adSize = AdSize.SMART_BANNER;  

    DisplayMetrics dm = getResources().getDisplayMetrics();  
    double density = dm.density * 160;
    double x = Math.pow(dm.widthPixels / density, 2);
    double y = Math.pow(dm.heightPixels / density, 2);
    double screenInches = Math.sqrt(x + y);   
    if (screenInches > 8) { // > 728 X 90
        adSize = AdSize.LEADERBOARD;
    } else if (screenInches > 6) { // > 468 X 60
        adSize = AdSize.MEDIUM_RECTANGLE;
    } else { // > 320 X 50
        adSize = AdSize.BANNER;
    }

    ad = (AdView) findViewById(R.id.adView);
     adView.setAdSize(adSize);
    AdRequest adRequest = new AdRequest.Builder().build();
     adView.loadAd(adRequest);
仲孙鸿飞
2023-03-14

我以前遇到过这个问题,这是因为广告横幅需要比手机分辨率大的分辨率。

出于这个原因,水平测试应用程序,一旦你这样做,你就可以看到完整的广告。

 类似资料:
  • 我的广告不显示。 我正在开发一个需要广告的应用程序。目前正在进行测试,我在Google Play console的内部测试轨道上对该应用程序进行封闭测试。因此,我无法将其链接到Admob中Play store中的应用程序。 所以,为了测试它们,我一直是示例测试广告单元,特别是间隙广告和奖励视频广告。它们加载良好。 今天,我决定切换到生产广告,因为我想发布该应用程序。所以,我为奖励和互动创建了新的广

  • 我已经与Admob广告斗争了将近一周,我在互联网上搜索了所有可能的解决方案,但都没有奏效。我的Android应用程序不显示测试广告也不显示实时广告。这是日志: 我的测试间隙负载没有问题,带电的没有。横幅没有显示,测试的和带电的都没有显示。 这是我的xml AdView: 我在横幅上加了: 活动间隙是以这种方式加载的,它是有效的(测试一没有): 我尝试过的事情 > 使用 使用Firebase广告编译

  • 我已经在我的手机上测试了广告功能。只显示测试广告。当我用我从AdMob得到的单位id替换时,真正的广告就不显示了。 问题出在哪里? 下面是我的代码: 对于我使用的xml 用于加载我使用的ad 在manifeast我有 ...。 但我的广告不加载在android设备上。测试广告运作良好。所有这些操作我都用了一个真实的装置。有什么需要帮忙的吗?

  • 我试图在我的应用程序上添加原生admob广告,当我用原生Advanced的示例广告单元id测试时:CA-app-pub-3940256099942544/2247696110,它工作,我在我的应用程序上得到广告,但当我尝试我真正的原生广告id时,它不工作它不能加载广告,它显示空白屏幕,我向谷歌播放市场发布应用程序,我等了3天,但它没有加载,我从广告中得到以下警告。我怎样才能解决这个问题?请帮帮我,

  • 当尝试加载奖励广告时,我遇到以下错误: <代码> 加载测试广告有效,但当尝试显示真实广告时,它会说:请求错误:没有广告要显示。 苹果不会允许我的应用出现在应用商店中,因为广告不起作用。 我还没有设法解决这个问题,因为这篇文章没有帮助。 另外,我还没有在我的代码中使用这个:<代码>。addTestDevice()和我的Admob帐户已经超过24小时了(可能已经有很多年了)。 有办法解决这个问题吗?

  • 我不太清楚为什么会发生这种情况。我一直在做一些研究,但情况太模糊了,我甚至很难找到解决办法。 我使用Android Studio创建了一个应用程序,并一直在一个虚拟仿真器上运行,其中< code>Toast功能使用这两行简单的代码运行良好 但当我在手机上运行这个应用程序时,它一直死机。我有Galaxy Grand Prime,甚至不确定它是否重要。