libgdx / gdx-pay

A libGDX cross-platform API for InApp purchasing.
Apache License 2.0
224 stars 83 forks source link

How to port to Amazon? #128

Closed FF7Squirrelman closed 6 years ago

FF7Squirrelman commented 8 years ago

Hi, I am a little confused when trying to port to amazon fire. I followed the readme and it says "gdx-pay-android-googleplay.jar ( for Google Play with non-consumable products only, exclude this artifact when using other product types. See status) gdx-pay-android-openiab.jar (to support GooglePlay, Amazon etc. This component is deprecated! Do not use if you are using gdx-pay-android-googleplay.jar, they are mutually exclusive.))"

now if the openiab jar is deprecated where do we get the jar necessary for amazon? I have the following jars (I am using an older version, I think I had a compatibility issue with another library with newer versions):

gdx-pay-android-googleplay-0.9.2 gdx-pay-android-0.9.2 gdx-pay-client-0.9.2 gdx-pay-0.9.2

using these jar's it says that AmazonFireResolver cannot be resolved. Am I missing a jar? I also tried adding gdx-pay-android-amazon 0.9.2 but it didn't work either.

keesvandieren commented 8 years ago

I am one of the gdx-pay maintainers (since a year or so), but I have never published apps on Amazon. So I have no experience with that.

openiab (an external library used by gdx-pay-android-openiab) has lots of bugs and is no longer maintained. For that reason, we recommend to no longer use gdx-pay-android-openiab.

Have you tried gdx-pay-android-amazon? I think that is the module to be used for Amazon? I have looked at the code and it might work for entitlements (non-consumable products). Implementation for consumables, subscriptions is not there. gdx-pay-android-amazon needs some love from a developer, seems to be in 'proof-of-concept' state currently. Feel free to fork gdx-pay, clean up PurchaseManagerAndroidAmazon.java and implement anything you need. I cannot test its functioning (I have no Amazon devices), but we are willing to accept pull requests.

MrStahlfelge commented 6 years ago

I will do that. Just started.

MrStahlfelge commented 6 years ago

See PR #170.

For instantiating the Amazon PurchaseManager, I recommend to skip using PurchaseSystem (it is just a helper with a lot of statics and ProGuard-breaking reflection tricks), but to instantiate it yourself in your Amazon flavor's AndroidLauncher:

game.purchaseManager = new PurchaseManagerAndroidAmazon(this, 0);

MrStahlfelge commented 6 years ago

This can get closed now.