Google Admob Android:仅在一台设备上运行

时间:2019-03-02 04:35:22

标签: android admob

我已经在我的android应用中设置了admob adview: 清单:

_sdl_surface->pixels

我的xml:

  <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-123456567787889990">

在我的Java代码中,我执行了以下操作:

   <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-0987784576567456234511"
        ads:layout_constraintBottom_toBottomOf="parent"
        ads:layout_constraintEnd_toEndOf="parent"
        ads:layout_constraintStart_toStartOf="parent">
    </com.google.android.gms.ads.AdView>

我了解到,真正的广告只能在生产中使用,而我必须使用测试广告。但是,测试广告仅出现在一台设备(我正在测试的设备)上,并且该设备可以正常工作。但是,它不会出现在任何其他设备上。 我向我的客户发送了一个APK,广告空间始终显示为空白,没有test-ad。

这是故意的行为还是我错过了什么?请帮忙。

1 个答案:

答案 0 :(得分:1)

您仅在调试模式下为adRequest()添加了一个测试设备。因此,它仅适用于该设备。首先,您不需要使用具有真实AdMob单元ID的真实帐户进行测试,就可以使用测试广告单元ID。而且不需要检查它是否处于调试模式。

您可以按照这种方式集成AdMob测试横幅广告。

  1. 在项目级build.gradle中添加它
    allprojects {
        repositories {
            google()
            jcenter()
        }
    }
  1. 添加此应用级的build.gradle
    dependencies {

        implementation 'com.google.android.gms:play-services-ads:17.1.1'
    }
  1. 然后将其添加到应用程序标记内的Manifest.xml文件中

    <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="[ADMOB_APP_ID]"/>
    

4。然后在您布置xml文件

    <com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
    </com.google.android.gms.ads.AdView>
  1. 然后在您的活动中执行此操作
package ...

import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MobileAds.initialize(this,
            "ca-app-pub-3940256099942544~3347511713");

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }
}

然后它将在所有设备上完美运行。之后,您只需替换admob应用ID和横幅广告单元ID。希望对您有帮助。