We do not use any Google Play Developer APIs explicitly, yet we are receiving the following warning:
Is this related to https://developer.android.com/google/play/billing/billing_library_releases_notes ?
We are currently using Google Play Billing Library 1.2.2 Release (2019-03-07)
We don't plan to migrate Google Play Billing Library 2.0.1 Release (2019-06-06) because it would be a lot of work with little gain.
Purchases must be acknowledged within three days
But that is just my wild guess - that the Google Play Billing library is related to the Google Play Developer API. They may or may not be related to each other.
What does it mean by "We’ve detected that your app is using an old version of the Google Play developer API" ?
The following is the full set of our dependencies. Any idea what causes this warning?
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.billingclient:billing:1.2.2'
implementation 'androidx.multidex:multidex:2.0.1'
def lifecycle_version = '2.0.0-beta01'
// ViewModel and LiveData
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
// alternately - if using Java8, use the following instead of compiler
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
def room_version = '2.1.0'
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
def work_version = "2.1.0"
implementation "androidx.work:work-runtime:$work_version"
// https://github.com/yccheok/SmoothProgressBar
implementation 'com.github.castorflex.smoothprogressbar:library:1.1.0'
// For Google Drive REST API - https://github.com/gsuitedevs/android-samples/blob/master/drive/deprecation/app/build.gradle
implementation('com.google.http-client:google-http-client-gson:1.26.0') {
exclude group: 'org.apache.httpcomponents'
}
implementation('com.google.api-client:google-api-client-android:1.26.0') {
exclude group: 'org.apache.httpcomponents'
}
implementation('com.google.apis:google-api-services-drive:v3-rev136-1.25.0') {
exclude group: 'org.apache.httpcomponents'
}
implementation 'com.google.firebase:firebase-messaging:19.0.1'
implementation 'com.google.android.gms:play-services-auth:17.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0-beta01'
implementation 'androidx.preference:preference:1.1.0-beta01'
implementation 'com.google.android.material:material:1.1.0-alpha07'
implementation 'androidx.exifinterface:exifinterface:1.0.0'
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.github.yccheok:AndroidDraw:0.18'
implementation 'com.github.yccheok:SectionedRecyclerViewAdapter:0.4'
implementation 'com.github.yccheok:CalendarView:1.10'
implementation 'com.andrognito.patternlockview:patternlockview:1.0.0'
implementation 'com.github.bumptech.glide:glide:4.7.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
implementation 'com.github.yccheok:PhotoView:0.1'
implementation 'com.github.yccheok:Matisse:1.6'
implementation 'com.jakewharton.threetenabp:threetenabp:1.1.1'
// https://github.com/romandanylyk/PageIndicatorView
implementation 'com.romandanylyk:pageindicatorview:1.0.2@aar'
implementation 'me.zhanghai.android.materialratingbar:library:1.3.2'
testImplementation 'junit:junit:4.12'
testImplementation "org.robolectric:robolectric:4.2.1"
testImplementation 'org.mockito:mockito-core:2.23.0'
testImplementation 'org.powermock:powermock-core:2.0.0-RC.4'
testImplementation 'org.powermock:powermock-module-junit4:2.0.0-RC.4'
testImplementation 'org.powermock:powermock-api-mockito2:2.0.0-RC.4'
androidTestImplementation 'androidx.test:runner:1.3.0-alpha01'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha01'
}
For project level dependencies, it is
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
The problem is that your project on Google Cloud Platform is using an old version of Developer Web API. It was automatically set up for you when you enabled developer services intentionally/unintentionally from Google Play Console's API Access section in Developer Settings.
Web API for subscriptions and purchases is actually part of Android Developer API:
The Google Play Developer API allows you to perform a number of publishing and app-management tasks. It includes two components:
The Subscriptions and In-App Purchases API lets you manage in-app purchases and subscriptions.
The Publishing API lets you upload and publish apps, and perform other publishing-related tasks.
You are not using above API in your app, this API is for management not the actual purchases. You are using SDK which has different versioning so no need to upgrade. This API was set up in your GCP project however.
To find which Project on GCP is associated with your Play Console, go to this link: https://play.google.com/apps/publish/#ApiAccessPlace
You just need to Go to GCP, find your project, find Google Android Developer API and change the version there. Or you can just disable the API if you don't use it.
For example, my GCP project was automatically named Google Play Android Developer so yours might probably be the same.
I can't see an option on my console probably because they removed it for new projects, but if your project is already using an old version, you probably will have a warning there as well.