Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[supply] Update to Google Play Developer API v3 (v2 end of life Dec 2019) #14573

Open
sschendel opened this issue Apr 11, 2019 · 24 comments

Comments

@sschendel
Copy link
Contributor

commented Apr 11, 2019

Google Play Developer Developer Publishing API v2 (currently used by supply) will end of life Dec 2019.

https://android-developers.googleblog.com/2019/03/changes-to-google-play-developer-api.html

@brenwell

This comment has been minimized.

Copy link

commented Apr 12, 2019

require 'google/apis/androidpublisher_v2'

Spent a few minutes running through my server code this morning trying to find references to v2 pleased its only here in the supply lib.

Thanks for the awesome lib Team Fastlane!

@janpio janpio added the tool: supply label Apr 12, 2019

@janpio

This comment has been minimized.

Copy link
Member

commented Apr 12, 2019

Ruby client is available for v3: https://developers.google.com/api-client-library/ruby/apis/androidpublisher/v3
Code for that at the expected place: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google/apis/androidpublisher_v3


A diff of https://developers.google.com/apis-explorer/#p/androidpublisher/v2/ vs https://developers.google.com/apis-explorer/#p/androidpublisher/v3/ shows that some methods seem to be gone:

androidpublisher.edits.apklistings.delete	Deletes the APK-specific localized listing for a specified APK and language code.
androidpublisher.edits.apklistings.deleteall	Deletes all the APK-specific localized listings for a specified APK.
androidpublisher.edits.apklistings.get	Fetches the APK-specific localized listing for a specified APK and language code.
androidpublisher.edits.apklistings.list	Lists all the APK-specific localized listings for a specified APK.
androidpublisher.edits.apklistings.patch	Updates or creates the APK-specific localized listing for a specified APK and language code. This method supports patch semantics.
androidpublisher.edits.apklistings.update	Updates or creates the APK-specific localized listing for a specified APK and language code.

We will have to look into if our code uses any of those.


Quick look through a diff of https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google/apis/androidpublisher_v2 vs. https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google/apis/androidpublisher_v3:

  • classes.rb:
    • ApkListing and ListApkListingsResponse are indeed gone
    • some renaming
    • new CountryTargeting and LocalizedText
    • SubscriptionPurchase has new accessor auto_resume_time_millis
    • Track has several new accessors
  • representations.rb
    • similar to classes.rb
  • service.rb
    • delete_apk_listing, delete_all_apk_listings, get_apk_listing, list_apk_listings, patch_apk_listing, update_apk_listing are gone
    • many other methods are (slightly) renamed

Unfortunately we are using some of these methods and classes that seem to be gone:

client.list_apk_listings(

apk_listing_object = Androidpublisher::ApkListing.new({

So this definitely will not be a drop in replacement.

@janpio

This comment has been minimized.

Copy link
Member

commented Apr 12, 2019

Here is another blog post from Google that highlights some of the changes in the API: https://android-developers.googleblog.com/2018/06/automating-your-app-releases-with.html


API docs v2: https://developers.google.com/android-publisher/archive/v2/
API docs v3: https://developers.google.com/android-publisher/api-ref/

Comparing this gives a more positive outlook:

  • apklisting seems to have been the place for release notes, which are now part of the track.
  • there is a new bundle endpoint collection

So stuff we had still seems to be there in one way or another.

@lidorDF

This comment has been minimized.

Copy link

commented May 12, 2019

Google Play Developer Developer Publishing API v2 (currently used by supply) will end of life Dec 2019.

https://android-developers.googleblog.com/2019/03/changes-to-google-play-developer-api.html

Any estimations regarding this issue?

@janpio

This comment has been minimized.

Copy link
Member

commented May 13, 2019

What are you asking for @lidorDF?

It will be a problem, we created an issue about it, now someone can do the work and fix it.

@fastlane-bot

This comment was marked as outdated.

Copy link

commented Jun 12, 2019

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment 👍

@gwynjudd

This comment has been minimized.

Copy link

commented Jun 12, 2019

This doesn't appear to be resolved, a quick search shows that supply is still using the v2 API

@iagorm

This comment has been minimized.

Copy link

commented Jun 13, 2019

First of all, great work Fastlane team, the product it's fantastic, now, what is the release of the new version that uses V3 of Google Play Developer API as we will have until December 1 of 2019 to finish it

@BrianJVarley

This comment has been minimized.

Copy link

commented Jun 14, 2019

This doesn't appear to be resolved, a quick search shows that supply is still using the v2 API

Also following this thread for update

@alexgarret

This comment has been minimized.

Copy link

commented Jun 14, 2019

Hi Fastlane team,

I am also following this thread, to be notified when the update supporting Google API V3 will be ready.
Looking forward to update Fastlane 🚀

@matthewkrueger

This comment has been minimized.

Copy link

commented Jun 26, 2019

The Play Store Developer console started showing a warning recently about this issue

We’ve detected that your app is using an old version of the Google Play Developer API. From December 1 2019, versions 1 and 2 of this API will no longer be available. Update to version 3 before this date.

I imagine there are many people who scratched their heads for a minute to figure out what was using the Google Play Developer API, only to realize it's fastlane. I'm just commenting here to help others save time tracking down what's going on. Thanks fastlane team!

@janpio

This comment has been minimized.

Copy link
Member

commented Jun 26, 2019

Thanks for the update @matthewkrueger, and thanks to Google Play Store actually being so communicative on this. Won't slip through the cracks until end of the year 🥇

@joshdholtz joshdholtz self-assigned this Jun 30, 2019

@janpio janpio pinned this issue Jul 17, 2019

scorpion35 pushed a commit to scorpion35/fastlane that referenced this issue Jul 18, 2019
Prasad Anne
AndroidPublisher API V3 init
fastlane#14573

Branch: "androidpublisherv3" | Commit Type: "New feature" | Changes tested: "no"
@scorpion35

This comment has been minimized.

Copy link
Contributor

commented Aug 6, 2019

Started some work. Got the download (supply init) part down. Any contributions are more than welcome!

Branch: https://github.com/scorpion35/fastlane/tree/androidpublisherv3

Tracking doc: https://github.com/scorpion35/fastlane/blob/androidpublisherv3/supply/androidpublisherv3_tracking.md

Next: Migrate supply run stuff.

@janpio

This comment has been minimized.

Copy link
Member

commented Aug 19, 2019

Possibly relevant context for you @scorpion35 on how a tool doing similar things solved this: microsoft/google-play-vsts-extension#129

@scorpion35

This comment has been minimized.

Copy link
Contributor

commented Aug 19, 2019

Thanks, @janpio! Didn't know there's competition 😁

Think I got halfway through supply run stuff. Updated the tracking doc with all changes so far. Can you take a look when you get a min, please? Would like early feedback if possible :) Added comments on each commit!

Everything above uploader.rb#L36* is working. Let me know if you have any questions!

*except, bundles stuff. Getting some test bundles to test tomorrow!

Update: Uploading app bundles is working as well!
--version_name 1.2.3 --track 'beta' --release_status inProgress --aab_paths 'test.aab' --rollout 0.01 created version 1.2.3 in beta track and released it at 1%

@scorpion35

This comment has been minimized.

Copy link
Contributor

commented Aug 23, 2019

Hit a road block. Helpppp :)
#15222

@SimonErich

This comment has been minimized.

Copy link

commented Sep 3, 2019

Sorry guys, just to make sure:
There is work being done on upgrading the internal workings of fastlane to go with v3 right now, right?
Or is there a solution already available, that we can use to get fastlane working, without having to relace it with another tool?

@janpio

This comment has been minimized.

Copy link
Member

commented Sep 3, 2019

Yes, there is work going on, in this case by contributor @scorpion35. But there will also be a directed effort by the fastlane team to get this fixed before EOL in Dec 2019 if need be. @SimonErich

@joshdholtz

This comment has been minimized.

Copy link
Member

commented Sep 3, 2019

@scorpion35 Hey! Do you mind creating a draft PR for this with the work you have currently done? I would love to contribute to this with you so that we can get this out the door? 😊

@scorpion35

This comment has been minimized.

Copy link
Contributor

commented Sep 4, 2019

@joshdholtz That is awesome! :) Created a PR here - #15269

We are blessed with a baby boy on Aug 31st, bit busy with him now. He's winning so far haha. I wouldn't be able to come online for a month or so, hope you understand!

@joshdholtz

This comment has been minimized.

Copy link
Member

commented Sep 4, 2019

@scorpion35 No problem at all and congrats!! 🎊🎉👶 I really appreciate all the work you've done on this so far 😊 Enjoy fatherhood!

@Putin12345

This comment was marked as spam.

Copy link

commented Sep 5, 2019

Ruby client is available for v3: https://developers.google.com/api-client-library/ruby/apis/androidpublisher/v3
Code for that at the expected place: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google/apis/androidpublisher_v3

A diff of https://developers.google.com/apis-explorer/#p/androidpublisher/v2/ vs https://developers.google.com/apis-explorer/#p/androidpublisher/v3/ shows that some methods seem to be gone:

androidpublisher.edits.apklistings.delete	Deletes the APK-specific localized listing for a specified APK and language code.
androidpublisher.edits.apklistings.deleteall	Deletes all the APK-specific localized listings for a specified APK.
androidpublisher.edits.apklistings.get	Fetches the APK-specific localized listing for a specified APK and language code.
androidpublisher.edits.apklistings.list	Lists all the APK-specific localized listings for a specified APK.
androidpublisher.edits.apklistings.patch	Updates or creates the APK-specific localized listing for a specified APK and language code. This method supports patch semantics.
androidpublisher.edits.apklistings.update	Updates or creates the APK-specific localized listing for a specified APK and language code.

We will have to look into if our code uses any of those.

Quick look through a diff of https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google/apis/androidpublisher_v2 vs. https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google/apis/androidpublisher_v3:

  • classes.rb:

    • ApkListing and ListApkListingsResponse are indeed gone
    • some renaming
    • new CountryTargeting and LocalizedText
    • SubscriptionPurchase has new accessor auto_resume_time_millis
    • Track has several new accessors
  • representations.rb

    • similar to classes.rb
  • service.rb

    • delete_apk_listing, delete_all_apk_listings, get_apk_listing, list_apk_listings, patch_apk_listing, update_apk_listing are gone
    • many other methods are (slightly) renamed

Unfortunately we are using some of these methods and classes that seem to be gone:

client.list_apk_listings(

https://github.com/fastlane/fastlane/blob/a8a602e8ab70fa86b70167965e85d44b49c77cd3
D

KmcLQ1g3N3Q

uplicate of /supply/lib/supply/client.rb#L344

So this definitely will not be a drop in replacement.

@Putin12345

This comment was marked as spam.

Copy link

commented Sep 5, 2019

I

@puneetsdsharma65

This comment has been minimized.

Copy link

commented Sep 12, 2019

Hi Fastlane team,

I am also following this thread, to be notified when the update supporting Google API V3 will be ready.
Looking forward to update Fastlane
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.