Chang Kai Boon
Chang Kai Boon

Reputation: 23

Cannot import com.google.android.gms:play-services-ads:17.1.1

apply plugin: 'com.android.application'
   android {
   compileSdkVersion 28

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


dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:appcompat-v7:28.0.0'
   implementation 'com.android.support.constraint:constraint-layout:1.1.3'
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.2'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
   implementation 'com.android.support:cardview-v7:28.0.0'
   implementation 'com.google.android.gms:play-services-ads:17.1.1'
}

These are my codes.I'm using Admob to display the ads in my app.When I add this code:"'com.google.android.gms:play-services-ads:17.1.1'" and sync , my apps crash.

After that I go to Admob official website and found that this version is for 'com.android.support:appcompat-v7:26.1.0' version. But when I change the compileSdkVersion to 26, my apps still crash....

I have test the code without this code:"'com.google.android.gms:play-services-ads:17.1.1'" and it can run.Im sure that this code is the problem but i have no idea how to correct it.

Could anyone help to solve my problem? Thank you.

Upvotes: 2

Views: 13003

Answers (3)

Tahmid Bin Rashid
Tahmid Bin Rashid

Reputation: 754

Go to Admob - Select App - App Setting - App ID copy the value from App ID

Now add this (change this android:value="paste the App ID value you copy from your admob app" )

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

meta-data into AndroidManifest.xml file

No need to add anything in APPLICATION_ID from android:name="com.google.android.gms.ads.APPLICATION_ID"

This will work!

See the picture below for clear understanding

enter image description here

Upvotes: 9

Emre Tekin
Emre Tekin

Reputation: 472

Because with "com.google.android.gms:play-services-ads:17.1.1" You need to update something.

You have to Update your AndroidManifest.xml

<manifest>
    <application>
        <meta-data
            android:name="com.google.android.gms.ads.AD_MANAGER_APP"
            android:value="true"/>
    </application>
</manifest>

And with this:

<manifest>
    <application>
        <!-- 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]"/>
    </application>
</manifest>

You can check these links for more detail informations.

https://developers.google.com/ad-manager/mobile-ads-sdk/android/quick-start#update_your_androidmanifestxml

https://developers.google.com/admob/android/quick-start#update_your_androidmanifestxml

Otherwise You have to use "com.google.android.gms:play-services-ads:16.0.0"

Upvotes: 3

Rodrigo
Rodrigo

Reputation: 455

Use "com.google.android.gms:play-services-ads:16.0.0", the new 17.1.1 change some code implementation, ie, you need do that in ur source too, or back to 16.0.0 for now...

will fix your error for while...

Upvotes: 2

Related Questions