问题
When setting up AdMob Mediation With Flutter ( firebase_admob: ^0.9.3+2) I'm getting the following error
Note: I have successfully set up the ADmob integration
I follow all the steps mentioned here : Integrating AdColony with Mediation
as per step 3, this is my app/build.gradle file
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.ads.mediation:adcolony:4.1.4.1'
}
ERROR
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[17.0.
0]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.
Dependency failing: com.google.android.gms:play-services-measurement-api:17.0.0 -> com.google.android.gms:play-services-
measurement-sdk-api@[17.0.0], but play-services-measurement-sdk-api version was 17.1.0.
The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
ifact with the issue.
-- Project 'app' depends on project 'firebase_admob' which depends onto com.google.firebase:firebase-ads@18.1.1
-- Project 'app' depends onto com.google.firebase:firebase-analytics@{strictly 17.0.0}
-- Project 'app' depends onto com.google.android.gms:play-services-ads@{strictly 19.0.1}
-- Project 'app' depends on project 'firebase_analytics' which depends onto com.google.firebase:firebase-analytics@16.5.
0
-- Project 'app' depends onto com.google.ads.mediation:adcolony@4.1.4.1
-- Project 'app' depends onto com.google.android.gms:play-services-gass@{strictly 19.0.1}
-- Project 'app' depends onto com.google.android.gms:play-services-measurement-sdk-api@{strictly 17.1.0}
-- Project 'app' depends onto com.google.firebase:firebase-ads@{strictly 18.1.1}
-- Project 'app' depends onto com.google.android.gms:play-services-measurement-api@{strictly 17.0.0}
-- Project 'app' depends onto com.google.android.gms:play-services-measurement-sdk@{strictly 17.0.0}
-- Project 'app' depends onto com.google.ads.mediation:adcolony@{strictly 4.1.4.1}
-- Project 'app' depends onto com.google.android.gms:play-services-ads-lite@{strictly 19.0.1}
For extended debugging info execute Gradle from the command line with ./gradlew --info :app:assembleDebug to see the dep
endency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https://
github.com/google/play-services-plugins and disable by adding "googleServices { disableVersionCheck = false }" to your b
uild.gradle file.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 51s
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)
Found this github issue Upgrade SDK version from 18.1.1 to 19.1.0
回答1:
I was able to get the code to compile after changing the versions
this is my pubspec.yaml for firebase:
#Firebase libary
firebase_core: ^0.4.5
cloud_firestore: ^0.13.6
firebase_auth: ^0.16.1
firebase_remote_config: ^0.3.1
firebase_dynamic_links: ^0.5.1
firebase_crashlytics: ^0.1.3+3
firebase_messaging: ^6.0.16
firebase_admob: ^0.9.3+2
firebase_analytics: ^5.0.15
and android/app/build.gradle
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.ads.mediation:adcolony:4.1.0.0' //latest version 4.1.4.1 not compatible with firebase_admob 0.9.3+2
}
com.google.ads.mediation.adcolony releases
回答2:
Instead of downgrading the AdColony mediation adapter, I managed to get it working by manually editing the file "flutter.pub-cache\hosted\pub.dartlang.org\firebase_admob-0.9.3+2\android\build.gradle", so it gets the latest version of the Admob Android SDK:
android {
dependencies {
api 'com.google.firebase:firebase-ads:19.1.0'
}
}
I have published this a month ago to the Play Store, for an app with around 100.000 MAU, and had no issue so far...
来源:https://stackoverflow.com/questions/62325206/flutter-app-integrating-adcolony-with-mediation