Development issue/problem:
We do not explicitly use the Google Play Development API, but we do get the following warning:
Is it linked to https://developer.android.com/google/play/billing/billing_library_releases_notes?
We are currently using version 1.2.2 of the Google Play Billing Library (2019-03-07).
We do not plan to migrate the billing library from Google Play version 2.0.1 (06/06/2019) because this would be a huge task with little profit.
But that’s just a guess: Google Play’s billing library is connected to the Google Play Developer API. They may or may not be related.
What does it mean that we have discovered that your application uses an older version of the Google Play Development API?
You will find all our outbuildings below. Do you have any idea what’s causing this warning?
Implement dependencies [
fileTree(dir: ‘libs’, include: [‘*.jar’])
Implementation of com.android.billingclient:Invoicing:1.2.2.
Implementation of androidx.multidex:multidex:2.0.1.
def lifecycle_version = ‘2.0.0-beta01’
// Implementation of ViewModel and LiveData
androidx.lifecycle-extensions:$lifecycle_version
// alternatively – if you use Java8, use the androidx.lifecycle:lifecycle-common-java8:$lifecycle_version implementation instead of the compiler
def room_version = ‘2.1.0’ version
androidx.room:room-runtime:$room_version
androidx.room:room-compiler:$room_version
def work_version = 2.1.0
Execution androidx.work:work-runtime:$work_version
// https://github.com/yccheok/SmoothProgressBar
implementation ‘com.github.castorflex.smoothprogressbar:library:1.1.0’.
// For the 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′) {
excludes the group: org.apache.httpcomponents’
}
implementation (‘com.google.api-client:google-api-client-android:1.26.0′ {
excludes the group: org.apache.httpcomponents’
}
implementation (‘com.google.apis:google-api-services-drive:v3-rev136-1.25.0′) {
excludes the group: org.apache.httpcomponents’
}
Implementation of com.google.firebase:firebase-maessaging:19.0.1.
Implementation of com.google.android.gms:play-services-auth:17.0.0.
Version ‘androidx.appcompat:appcompat:1.1.0-beta01’
Version ‘androidx.preference:preference:1.1.0-beta01’
Version ‘com.google.android.material:1.1.0-alpha07′.
androidx.exifinterface:exifinterface:1.0.0”androidx.gridlayout:1.0.0”androidx.constraintlayout:1.1.3”com.google.code.gson:gson:2.8.5”’androidx.androidx.gridlayout:1.0.0”androidx.constraintlayout:1.1.3”com.google.code.gson:gson:2.8.5′ version
Com.github.yccheok:AndroidDraw:0.18’Com.github.yccheok:SectionedRecyclerViewAdapter:0.4’Com.github.yccheok:CalendarView:1.10’.
Implementation of com.andrognito.patternlockview: patternlockview:1.0.0.
com.github.bumptech.glide:glide:4.7.1′
AnnotationProcessor ‘com.github.bumptech.glide:compiler:4.7.1’ Implementation
Implementation of com.github.yccheok:PhotoView:0.1.
Implementation of com.github.yccheok:Matisse:1.6.
Implementation of com.jakewharton.threetenabp:threetenabp:1.1.
// https://github.com/romandanylyk/PageIndicatorView
implementation ‘com.romandanylyk:pageindicatorview : [protected via email].
Implementation of the me.zhanghai.android.materialratingbar:library:1.3.2.
testJunit: 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-unit4: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 dependencies at project level 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 to
// in separate build.gradle
} module files.
How can I solve this problem?
Solution 1:
The problem is that your project on the Google Cloud Platform uses an older version of the developer’s Web API. It was automatically set for you when you intentionally / unintentionally enabled developer services in the API Access section of the Google Game Console in Developer Settings.
The web interface for subscriptions and purchases is actually part of the Android Developer API:
Using the Google Play Developer API you can perform a number of tasks to publish and manage your applications. It consists of two parts:
You can use the In-app Purchasing and Subscription API to manage in-app purchases and subscriptions.
You can use the Publishing API to download and publish applications and perform other publishing tasks.
You do not use the above API in your application, this API is for management, not for the actual purchase. You are using an SDK that has a different version, so there is no need to update it. However, this API is installed in your GCP project.
To find out which GCP project is connected to your game console, follow this link:
https://play.google.com/apps/publish/#ApiAccessPlace
Just go to GCP, find your project, find the Google Android Developer API and change the version. Or you can just disable the API when you’re not using it.
For example, my GCP project was automatically named Google Play Android Developer so your project could get the same name.
I don’t see an option on my console, probably because they’ve removed it for new projects, but if your project already uses an older version, you’ll probably get a warning there as well.
Solution 2:
Does anyone have any idea what that means? We discovered that your
application uses an older version of the Google Play? development API.
A simple explanation for this message: The application is either your own application or an application from a third party under the api.
https://www.googleapis.com/androidpublisher/v1/applications
or
https://www.googleapis.com/androidpublisher/v2/applications
Transfer of the name of your request
com.android.myapp
in other cases, for the performance of automated tasks, such as B.
Post a storage requestPost a comment, etc.
However, these apiliums are obsolete and should rather be below the apilium.
https://www.googleapis.com/androidpublisher/v3/applications
It has been confirmed that some third party plugins activate this message because they use outdated Apis to do their job.
For example:
It is also possible that it is you who is referring to the outdated API, maybe on your server side or maybe in your own application code. The end result is that the call ends up somewhere in an outdated api with the package name of your application. My advice to you: Update your billing library when you use it.
We conclude with a statement from the Google Developer API v3 document
The API can also be used indirectly, not by the application itself, but by a third-party
plugin (such as a sharing plugin). Many third-party
plugins already use version 3 of the API. If you are using a
plugin that does not support version 3, please contact the
manager.
Solution 3:
This has nothing to do with billing, because you don’t have server-side validation. This is the AndroidPublisher API, as others have said, which means you probably have a pretty nasty security hole. How do we find him?
- Go to https://play.google.com/apps/publish/#AdminPlace
- You will find a list of users with access. Some will be real accounts, others will be service accounts. The latter ends with @gcp-project-id.iam.gservice account.com.
- If there’s something you don’t recognize, delete the account.
- If you want to continue cleaning, go to https://console.developers.google.com/apis/credentials?project=gcp-project-id with the gcp project at the top.
- Don’t delete any service accounts here, most are automatically generated from various other Google services, and things will break if they disappear. Delete service accounts that had access to the reading console, unless they are used to access other APIs.
Solution 4:
The Google Play Developer API is not used directly in your application (APK), so you cannot fix it in build.gradle. It includes services to help you automate application publishing (Continuous Integration, CI) and an API to verify purchases in the application.
You need to check how your backend purchases are checked in the application and update it with the latest version. You can also check how your CI server downloads the Play Store MOTK, as well as the latest version update.
For more information about the Google Play Developer API, click here: https://developers.google.com/android-publisher/.
Solution No 5:
According to Google’s documentation, you cannot use Google Play Developer versions 1 and 2 because the documentation states that they upgrade to version 3 and that in-app billing is directly related to that.
See the first link to read it
1. https://android-developers.googleblog.com/2019/03/changes-to-google-play-developer-api.html
Learn more about the Google Play Developer API
Visit https://developers.google.com/android-publisher/
To implement version 3
1. https://github.com/googlesamples/android-play-publisher-api/tree/master/v3/java
2. https://developers.google.com/api-client-library/java/apis/androidpublisher/v3
I hope this helps.
Good luck!
Related Tags:
google play developer api version 3,google play console api python,google play store api java,google api androidpublisher,google play enable api access,google developer console api access,google play console,google play music api,google play api console,google play developer api example,google play service account json,google play movies api