Android studio - приложение Google ads cra sh - PullRequest
0 голосов
/ 11 января 2020

Я безуспешно пытаюсь внедрить службы рекламы Google в свое приложение ..

Я пытался изменить версию SDK приложения, а также версию реализации Google Ads, и каждый раз, когда приложение просто падает на старте, я понятия не имею, что я делаю не так, любая помощь приветствуется!

Вот те строки, за которыми я следовал:

  1. Зависимости для объявлений Google:
 implementation 'com.google.android.gms:play-services-ads:18.3.0'
AdView внутри моего Activity_main. 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"
        ads:adSize="BANNER"
        ads:adUnitId="@string/bannerId"
        android:layout_centerHorizontal="true"
        android:layout_alignParentTop="true" />
Код инициализации в MainActivity. java
        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
                AdView mAdView = (AdView)findViewById(R.id.adView);
                AdRequest adRequest = new AdRequest.Builder().build();
                mAdView.loadAd(adRequest);
            }
        });

Также я обновился до SDK 28 (было 27), использовал для этого кнопку «Переход к AndroidX».

Вот как выглядит мой глагол приложения:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.ofekTe.MyWorkouts"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    maven { url 'https://jitpack.io' }
    mavenCentral()
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'androidx.appcompat:appcompat:1.2.0-alpha01'
    implementation 'com.google.android.material:material:1.2.0-alpha03'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
    implementation 'com.miguelcatalan:materialsearchview:1.4.0'
    implementation 'com.github.amlcurran.showcaseview:library:5.4.3'
    implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'

    implementation 'com.google.android.gms:play-services-ads:18.3.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.3.0-alpha03'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha03'
}

Вот лог, который я получаю (Важные части, по крайней мере, если чего-то не хватает, обязательно сообщите мне, и я загрузлю весь журнал):

Logcat

Опять же, любая помощь приветствуется. спасибо!

1 Ответ

0 голосов
/ 22 января 2020

Я думаю, что вам не хватает кодов, необходимых внутри AndroidManifest. xml file

  1. Зависимости для объявлений Google:

    implementation 'com.google.android.gms:play-services-ads:18.3.0'

  2. Добавьте приведенные ниже коды «метаданных» в свой AndroidManifest. xml файл Создайте свой appID и используйте его, в противном случае для тестирования вы можете использовать образец идентификатора AdMob App вместо «ca-app-». pub-xxxxxxxxxxxxxxxx ~ гггггггггг *

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

При этом приложение не должно взламывать sh при запуске

Будут загружены следующие коды тестовые объявления от Google. Сравните их с вашими кодами, чтобы изменить соответственно

activity_main. xml file

<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
app:adSize="BANNER"
app:adUnitId="ca-app-pub-3940256099942544/6300978111"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"></com.google.android.gms.ads.AdView>

MainActivity. java file

public class MainActivity extends AppCompatActivity {

     private AdView mAdView;

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

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

Я создал новое приложение с вышеуказанными кодами и он показал баннер с тестовой рекламой, как показано ниже

enter image description here

...