Google Play Billing v 6.2.1 with SDK 34 #3477
Replies: 20 comments 57 replies
-
|
Please ensure you have updated the extension as well as the manifest additions. Updating only one can cause issues. |
Beta Was this translation helpful? Give feedback.
-
|
@stephanberger4 That ANE also mentions the minSdkVersion has to be 24 now instead of 19, not sure if that would affect it as well? There's also the new ProxyBillingActivityV2, the migration doc lists all of the new changes here: |
Beta Was this translation helpful? Give feedback.
-
|
The SDK updates according to the distriqt's instruction worked well. Make sure also to update also service ANE's |
Beta Was this translation helpful? Give feedback.
-
|
Hello stephanberger4 - did you find a solution to this? I've downloaded the latest ANEs (maybe not all of them) but receiving the following error message when uploading my APK: Your app currently uses Play Billing Library version AIDL and must update to at least version 6.0.1 to make use of the latest monetization features on Google Play. |
Beta Was this translation helpful? Give feedback.
-
|
Hi
Yes, I had to buy the ANE on this website to fix the error : https://airnativeextensions.com/extension/com.distriqt.InAppBilling/
Envoyé à partir de Outlook pour Android<https://aka.ms/AAb9ysg>
…________________________________
From: jason68000 ***@***.***>
Sent: Saturday, March 29, 2025 3:40:38 AM
To: airsdk/Adobe-Runtime-Support ***@***.***>
Cc: stephanberger4 ***@***.***>; Mention ***@***.***>
Subject: Re: [airsdk/Adobe-Runtime-Support] Google Play Billing v 6.2.1 with SDK 34 (Discussion #3477)
Hello stephanberger4 - did you find a solution to this? I've downloaded the latest ANEs (maybe not all of them) but receiving the following error message when uploading my APK:
Your app currently uses Play Billing Library version AIDL and must update to at least version 6.0.1 to make use of the latest monetization features on Google Play.
—
Reply to this email directly, view it on GitHub<#3477 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABQWF7RCXJGIBIWGDW5G7PT2WV3QNAVCNFSM6AAAAABOOQHED2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTENRVGU2TENI>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Hello again! I've just posted out two discussions in relation to my last reply above. I'm not sure where the Google Play Billing lives so I could possibly update it manually. I'm receiving an error saying I need to use at least version "6.0.1" so I would love to use version 6.2.1 as mentioned originally in this post. I also had another question above Alternative Billing API. Sorry if this seems a double up, I'm not sure of the exact protocol in posting out here, I know people mention not to ask another question within a previous one! Jason |
Beta Was this translation helpful? Give feedback.
-
|
Hi,
Here's my manifest. Try to check if you have the same thing in your xml :
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="34"/>
<!-- Permissions -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!-- Google Play Billing query -->
<queries>
<intent>
<action android:name="com.android.vending.billing.InAppBillingService.BIND" />
</intent>
</queries>
<application>
<!-- Distriqt In-App Billing Activity -->
<activity
android:name="com.distriqt.extension.inappbilling.activities.ProductViewActivity"
android:exported="false"
***@***.***:style/Theme.Translucent.NoTitleBar" />
<!-- Google Play Billing setup -->
<meta-data android:name="com.google.android.play.billingclient.version" android:value="6.2.1" />
<!-- Billing activities -->
<activity
android:name="com.android.billingclient.api.ProxyBillingActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:exported="false"
***@***.***:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.android.billingclient.api.ProxyBillingActivityV2"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:exported="false"
***@***.***:style/Theme.Translucent.NoTitleBar" />
</application>
</manifest>
]]></manifestAdditions>
…________________________________
De : jason68000 ***@***.***>
Envoyé : lundi 31 mars 2025 00:58
À : airsdk/Adobe-Runtime-Support ***@***.***>
Cc : stephanberger4 ***@***.***>; Mention ***@***.***>
Objet : Re: [airsdk/Adobe-Runtime-Support] Google Play Billing v 6.2.1 with SDK 34 (Discussion #3477)
Hello again!
I've just posted out two discussions in relation to my last reply above. I'm not sure where the Google Play Billing lives so I could possibly update it manually. I'm receiving an error saying I need to use at least version "6.0.1" so I would love to use version 6.2.1 as mentioned originally in this post. I also had another question above Alternative Billing API. Sorry if this seems a double up, I'm not sure of the exact protocol in posting out here, I know people mention not to ask another question within a previous one!
#3732<#3732>
#3733<#3733>
Jason
—
Reply to this email directly, view it on GitHub<#3477 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABQWF7U4NA6BG3VIMPO74IL2W72BJAVCNFSM6AAAAABOOQHED2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTENRWG43DIMA>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Hey GeneralVimes!
Thanks very much for the xmls files! Here's where I've been and where I'm at now:
As I mentioned in a previous message when I would upload my APK (I added <uses-permission android:name="com.android.vending.BILLING" />) I would receive the following error message:
Your app currently uses Play Billing Library version AIDL and must update to at least version 6.0.1 to make use of the latest monetization features on Google Play.
I managed to get APM working well and it downloaded all the necessary ANEs and updated my manifest (which is very similar to yours btw). I was able to build my APK and get past the above error message. My app was approved but when I try to setup and configure In-App through the Google Play Store, I see this message:
To add in-app products, you need to add the BILLING permission to your APK
So I'm not sure I'm doing this whole thing correctly or not. From what I read with the documentation I need to setup In-App billing products and then reference them in my app - which I assume I need to upload and APK which allows In-App billing.
Have you been through these errors/quirks before? I feel like I'm going around in circles with this one. Am I correct though in assuming I need to be referencing code in my APK (which I believe I'm doing now) before I can configure In-App products in the Google Play Console.
Thanks!Jason
On Friday, April 4, 2025 at 09:54:19 AM GMT-6, GeneralVimes ***@***.***> wrote:
Maybe I can be of some help with Application.xml
On my repository I created branches for the "clean" game and for the game with SDKs.
Here I'll share my application.xml files for these two.
Purchases are working well for me with Distriqt extension
xmls.zip
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Thanks FliplineStudios! Perfect,! I've just uploaded my APKs to a test track! I've just noticed when I click the button next to the message "To add in-app products, you need to add the BILLING permission to your APK" it now re-directs to the testing section I just uploaded to. It didn't do this before, I think it just went to a Help page. |
Beta Was this translation helpful? Give feedback.
-
|
Here's my ADT.log: APK Packager entry point I have Android Studio installed. Here's a snippet from my ADT.cfg file: DebugOut=true I'm not sure how to add the version of the android SDK here. Also I read I need to use forward slashes for the path. If anyone has their ADT.cfg that works, that would be great! I could try that with my Build. Also, I don't see any references to "gradle". Jason |
Beta Was this translation helpful? Give feedback.
-
|
I'm using FB 4.7 and the output I posted when I exported my APK. I've specified the Android SDK directory in adt.cfg (forward slashes needed?) but I'm not sure it's even being called as when I put in a bad value or take it out the output log is exactly the same! So yes, I'm guessing I'm still using the legacy build
Michael mentioned this would happen if I don't specify a version of the android SDK in your adt.cfg. I'm not sure of the syntax of doing this, nor what else I need in adt.cfg to get Android SDK used in the build process.
If someone had their adt.cfg file for all this I would definitely try that - and also what downloads are needed for Android Studio to work with the build!
I'm still searching for information on how Android SDK/Studio works in all of this, and how to Debug when things aren't working correctly!
On Saturday, April 5, 2025 at 10:48:25 AM CDT, FliplineStudios ***@***.***> wrote:
That looks odd, my log looks very different from that... this reminds me of the legacy output I'd see back before the Android platformsdk was used. You're not using <BuildLegacyAPK> in your application descriptor XML, correct? And within Android Studio, you have the Build Tools downloaded for the version you're trying to package (I'm guessing 34.0.0 or newer since that's what Google requires now)?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
I've tried all the suggestions but unfortunately I'm still on the Legacy Build. I have a few suggestions to try and if anyone wanted to help me with their working development environment - that would be amazing! Idea #1: Would anyone be willing to generate and upload their adt.log file. I would like to compare this with mine and see where they are similar and at what point them diverge into the non-Legacy Build. Idea #2: Break your non-Legacy Build at different points, and post the errors etc. If someone has a working non-Legacy Build, would they be willing to try break their build at different points so they can share with me the errors and how they fail. For example, if you rename your android SDK directory to something else and see where your build fails. I've done this at different points and I nothing happens. I can't see any change or any errors when generating an APK. Idea #3: How can I trace through the point where execution hits the Android SDK? Or if anyone has any better ideas for anything I could try! :-) |
Beta Was this translation helpful? Give feedback.
-
|
One more suggestion: If anyone know the internal workings of this non-Legacy Build, they could help me trace execution through. In other works, really look at what happens in the background, what programs call what programs and load what configs files etc... At some point for example execution hits the Android SDK, where mine obviously doesn't. |
Beta Was this translation helpful? Give feedback.
-
|
Wow, thanks FliplineStudios! That's some great information to work on. Would it possible to have a look at your command line in calling adt directly. There could be something there I'm missing! I'm just about to crash in for the night but I'll go through everything in the morning! Jason
On Saturday, April 5, 2025 at 09:59:47 PM CDT, FliplineStudios ***@***.***> wrote:
@jason68000 For reference, here's what my adt.log looks like when it's building correctly for an AAB (with older ANEs):
adt_log_aab.txt
And here's another when it's building correctly for an APK (with the newer ANEs, so you can see all the lines about gradle dependencies):
adt_log_apk_newanes.txt
Very different from the legacy packaging like you were seeing. I can see something similar to your output (with the older AAPT method) if I use an older AIR SDK, or if I have <BuildLegacyAPK>true</BuildLegacyAPK> in my application XML, but otherwise I'm always seeing it go through the new packaging. If I try to give it a bad path for the Android SDK (using -platformsdk), it actually outputs an error (UsageError: Could not locate adb) and doesn't try to package anything after that.
I'm calling adt directly for packaging from the command line, not sure if Flash Builder does something different in how it starts the packaging process. I've also got JAVA_HOME pointing to the Android Studio jbr folder since it needs Java 17 for packaging now, not sure if that makes a difference if you're using a different version?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
I'm also looking at alternative development environments to replace FB 4.7. I'm trying to get VSCode working with MXML and receiving a simple error saying ActionScript class cannot be found. I've started another discussion (so we can put this discussion to bed): |
Beta Was this translation helpful? Give feedback.
-
|
Hello again everyone! I need to move to Version 7.0.0 of Play Billing (and everyone else I guess!) but I can't find my in the way of documentation. I've created a discussion in regards to this, if anyone wanted to help out: Jason |
Beta Was this translation helpful? Give feedback.
-
|
One last question for all the developers in this discussion. Anyone developed/released cross-platform for Apple/Google? |
Beta Was this translation helpful? Give feedback.
-
|
Hi, just checking : did you already release the v7 version of Billing or not yet ? Thx again ! |
Beta Was this translation helpful? Give feedback.
-
|
Thank you very much ! It seems that things have been changed with this new version. My AS3 code was :
InAppBilling.service.addEventListener( InAppBillingEvent.SETUP_SUCCESS, setupSuccessHandler );
InAppBilling.service.addEventListener( InAppBillingEvent.SETUP_FAILURE, setupFailureHandler );
InAppBilling.service.addEventListener( InAppBillingEvent.PRODUCTS_LOADED, productsLoadedHandler );
InAppBilling.service.addEventListener( InAppBillingEvent.PRODUCTS_FAILED, productsFailedHandler );
InAppBilling.service.addEventListener( InAppBillingEvent.INVALID_PRODUCT, productInvalidHandler );
With a function dispose() with : function dispose():void{
InAppBilling.service.removeEventListener( InAppBillingEvent.SETUP_SUCCESS, setupSuccessHandler );
InAppBilling.service.removeEventListener( InAppBillingEvent.SETUP_FAILURE, setupFailureHandler );
InAppBilling.service.removeEventListener( InAppBillingEvent.PRODUCTS_LOADED, productsLoadedHandler );
InAppBilling.service.removeEventListener( InAppBillingEvent.PRODUCTS_FAILED, productsFailedHandler );
InAppBilling.service.removeEventListener( InAppBillingEvent.INVALID_PRODUCT, productInvalidHandler );
InAppBilling.service.removeEventListener( PurchaseEvent.PURCHASES_UPDATED, purchasesUpdatedHandler );
InAppBilling.service.removeEventListener( PurchaseEvent.PURCHASE_FAILED, purchaseFailedHandler );
InAppBilling.service.removeEventListener( InAppBillingEvent.FINISH_SUCCESS, finishPurchaseSuccessHandler );
InAppBilling.service.removeEventListener( InAppBillingEvent.FINISH_FAILED, finishPurchaseFailedHandler );
InAppBilling.service.removeEventListener( PurchaseEvent.GET_PURCHASES_COMPLETE, getPurchasesCompleteHandler );
InAppBilling.service.removeEventListener( PurchaseEvent.GET_PURCHASES_FAILED, getPurchasesFailedHandler );
}
but ANIMATE throw these messages :
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 71, column 60
Warning: 3606: Use of 'PRODUCTS_LOADED' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.ProductEvent.PRODUCTS_LOADED'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 72, column 60
Warning: 3606: Use of 'PRODUCTS_FAILED' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.ProductEvent.PRODUCTS_FAILED'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 73, column 60
Warning: 3606: Use of 'INVALID_PRODUCT' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.ProductEvent.INVALID_PRODUCT'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 102, column 60
Warning: 3606: Use of 'FINISH_SUCCESS' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.PurchaseEvent.FINISH_SUCCESS'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 103, column 60
Warning: 3606: Use of 'FINISH_FAILED' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.PurchaseEvent.FINISH_FAILED'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 251, column 60
Warning: 3606: Use of 'RESTORE_PURCHASES_SUCCESS' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.PurchaseEvent.RESTORE_PURCHASES_SUCCESS'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 252, column 60
Warning: 3606: Use of 'RESTORE_PURCHASES_FAILED' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.PurchaseEvent.RESTORE_PURCHASES_FAILED'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 284, column 63
Warning: 3606: Use of 'PRODUCTS_LOADED' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.ProductEvent.PRODUCTS_LOADED'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 285, column 63
Warning: 3606: Use of 'PRODUCTS_FAILED' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.ProductEvent.PRODUCTS_FAILED'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 286, column 63
Warning: 3606: Use of 'INVALID_PRODUCT' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.ProductEvent.INVALID_PRODUCT'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 289, column 63
Warning: 3606: Use of 'FINISH_SUCCESS' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.PurchaseEvent.FINISH_SUCCESS'.
D:\Applis\Marees NC ANDROID - 2025 - IA\com\InAppManager.as, line 290, column 63
Warning: 3606: Use of 'FINISH_FAILED' is deprecated. Please use 'com.distriqt.extension.inappbilling.events.PurchaseEvent.FINISH_FAILED'.
I assume I need to replace the old constants (like InAppBillingEvent.PRODUCTS_LOADED) with the fully qualified ones (like ProductEvent.PRODUCTS_LOADED), but I want to make sure I'm doing this correctly and consistently across the code.
Is this the expected change in the latest Distriqt InAppBilling ANE versions?
Thanks for any clarification or best practices!
…________________________________
De : Michael ***@***.***>
Envoyé : jeudi 31 juillet 2025 14:02
À : airsdk/Adobe-Runtime-Support ***@***.***>
Cc : stephanberger4 ***@***.***>; Mention ***@***.***>
Objet : Re: [airsdk/Adobe-Runtime-Support] Google Play Billing v 6.2.1 with SDK 34 (Discussion #3477)
Hi, yes v17.1.0 was released with the play billing update required for android 35
—
Reply to this email directly, view it on GitHub<#3477 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABQWF7UVAQ6PZ3AGFCF2EEL3LGBNHAVCNFSM6AAAAABOOQHED2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGOJUGEZTAOA>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Hi! Do you know if the Play Store requires some time to remove the warning in the developer console? I updated my app with the latest Distriqt ANE, and didn't get any warning related to the IAB version before publishing. However, the new version of the app is now available on the Play Store, and the warning about policy violation is still present in the developer console (in the "Production" tab). Is it normal? Edit: Never mind, it took about 8 hours, but now the warning is gone. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I'm using distriqt ANE InAppBilling (https://airnativeextensions.com/extension/com.distriqt.InAppBilling/)
Everything always worked great.
But Google recently requires to us Google Play Billing v6 (I was at v5), AND requires SDK 34 (I was at 33)
If, in my manifest, I'm changing
<meta-data android:name="com.google.android.play.billingclient.version" android:value="5.0.0" />to<meta-data android:name="com.google.android.play.billingclient.version" android:value="6.2.1" />: It's working.But If I'm changing
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="33"/>to
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="34"/>The "buy" button doesn't work anymore in my app. It' s working only if I keep the SDK to 33 (which Google doesn't want anymore).
Is this a known error ? And is it coming from : the ANE ? The AIR SDK ?
Thanks again for your help,
Beta Was this translation helpful? Give feedback.
All reactions