godotengine / godot-google-play-billing

Godot Android plugin for the Google Play Billing library
MIT License
138 stars 39 forks source link

Billing library now deprecated/unusable #59

Open PickleJesus123 opened 8 months ago

PickleJesus123 commented 8 months ago

Godot version

4.1.2

System information

Android

Issue description

As of November 1st 2023 (tomorrow), Android Billing v4 will be entirely deprecated. The problem is, the master branch specifically targets this deprecated v4. However, there is another branch (billing-v5) which is up to date and working great, and it should become the new 'master' branch. Other users have brought this up, but it seems that no maintainers have been checking in! https://github.com/godotengine/godot-google-play-billing/issues/51#issuecomment-1609842527 billing

I would be happy to submit a PR that completely updates the billing plugin documentation page, but the plugin itself should probably be brought up to date with the billing-v5 branch first!

Steps to reproduce

N/A

Minimal reproduction project

N/A

akien-mga commented 8 months ago

Transferred to https://github.com/godotengine/godot-google-play-billing as it's not an issue with Godot itself.

AFAIK the current master branch is compatible with Google Play Billing 5, there was just a bug in #45 where the version had been mistyped. It should now be fixed by #53, bumping it to 5.2.1 for compatibility with Android 14.

The billing-v5 branch used for #36 seems to be a bigger refactor to make use of the new APIs which was never completed. There's also #52 building on top of it. But there's no active maintainer for this repo so it's difficult to get those reviewed, merged and released.

Can you confirm whether the current master branch is suitable to fulfill Google Play's requirements?

akien-mga commented 8 months ago

I'm not able to test it myself, but I made a new 1.2.0 release from the master branch that targets Google Play Billing 5.2.1: https://github.com/godotengine/godot-google-play-billing/releases/tag/1.2.0

Please let me know if it's working.

PickleJesus123 commented 8 months ago

Transferred to https://github.com/godotengine/godot-google-play-billing as it's not an issue with Godot itself.

AFAIK the current master branch is compatible with Google Play Billing 5, there was just a bug in #45 where the version had been mistyped. It should now be fixed by #53, bumping it to 5.2.1 for compatibility with Android 14.

The billing-v5 branch used for #36 seems to be a bigger refactor to make use of the new APIs which was never completed. There's also #52 building on top of it. But there's no active maintainer for this repo so it's difficult to get those reviewed, merged and released.

Can you confirm whether the current master branch is suitable to fulfill Google Play's requirements?

@akien-mga

The master branch is using deprecated methods (querySkuDetailsAsync(), etc)

Taken from my subscription in the Google Play console: deprecated

And a code snippet from the master branch that uses these deprecated methods (in GodotGooglePlayBilling.java) deprecated2

They expect us to use queryProductDetailsAsync() now, among other methods (all implemented in billing-v5 branch)

Also, it seems like the Godot Billing Documentation currently uses the methods/callbacks from billing-v5 branch, not the methods/callbacks used in master. I am using the billing-v5 branch, and other than this bug, it seems to be working flawlessly for my subscriptions

kyadalu1 commented 6 months ago

Try this