Объявление Admob не отображается в моем приложении для Android - PullRequest
0 голосов
/ 12 июня 2019

Я создал объявление через консоль google admob - и он даже посчитал запросы
Я подключился к Firebase
Я добавил объявление AdMob в свое приложение для Android в соответствии со всеми инструкциями, но оно не отображается.
Что не так?
Извините - кода много, но я просто не понимаю, куда копать

activity_main.xml

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".presentation.view.MainActivity">

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@id/main_container"
        android:layout_centerHorizontal="true"
        android:background="@color/white"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_id" />

    <FrameLayout
        android:id="@+id/main_container"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_below="@id/adView"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@id/adView"
        app:layout_constraintBottom_toBottomOf="parent"
        />

</androidx.constraintlayout.widget.ConstraintLayout>  

MainActivity.java

public class MainActivity extends AppCompatActivity {
AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    MobileAds.initialize(this, String.valueOf(R.string.google_app_id));
    //adding first visible fragment 
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    Fragment mainScreenFragment = new MainScreenFragment();
    //adding banner
    adView = findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder()
            .addTestDevice("7B0491EFFC06B1A3FBE6637394533EDE")
            .build();
    adView.loadAd(adRequest);
    String tag = "MainScreen";
    transaction.replace(R.id.main_container, mainScreenFragment, tag);
    transaction.commit();
}  

Первый видимый фрагмент (xml файла MainScreenFragment.java)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".presentation.view.MainScreenFragment">
    <Button
        android:id="@+id/btn_pay"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerInParent="true"
        android:background="@drawable/round_button"
        android:textAlignment="center"
        android:textColor="#000"
        android:textSize="18sp" />
          ....
</RelativeLayout>

Манифест

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.appolinary.antiradar">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
    android:name="com.appolinary.antiradar.App"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="GoogleAppIndexingWarning">
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="@string/google_app_id"/>
    <meta-data
        android:name="com.google.android.gms.ads.AD_MANAGER_APP"
        android:value="true" />
    <activity
        android:name=".presentation.view.MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Gradle

//admob
implementation 'com.google.firebase:firebase-core:16.0.9'
implementation 'com.google.firebase:firebase-ads:17.2.1'
implementation 'com.google.android.gms:play-services-ads:17.2.1'
implementation 'com.google.android.gms:play-services-measurement-sdk-api:16.5.0'

1 Ответ

0 голосов
/ 13 июня 2019

Удалите одну из реализаций в Gradle (выберите между firebase-ads: 17.2.1, play-services-ads: 17.2.1, потому что они не должны быть вместе). Admob начинает показывать вам рекламу, когда приложение начинает делать больше запросов для оценки вашего трафика. Также попробуйте сбросить рекламный идентификатор в настройках устройства, которое не показывает рекламу.

...