airsdk / Adobe-Runtime-Support

Report, track and discuss issues in Adobe AIR. Monitored by Adobe - and HARMAN - and maintained by the AIR community.
203 stars 11 forks source link

Google Play Rejects Apps/APKS with the Billing Permission #3292

Closed RossD20Studios closed 4 months ago

RossD20Studios commented 4 months ago

Problem Description

When attempting to submit APK to Google Play with Billing permission, Google Play rejects the APK because We've detected that one or more of the app bundles included in this release are using the following Play Billing Library versions: AIDL

Steps to Reproduce

AIR 50.2 Compiling with IntelliJ

Google Play requires that you have the Billing permission in your app if you want to setup a pre-registration page for an app that will use in-app purchases at launch. I have not yet implemented in-app purchases, but I added the Billing permission as follows in my XML descriptor:

<android>
        <manifestAdditions><![CDATA[
        <manifest android:installLocation="auto">
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="com.android.vending.BILLING"/>
            <application>
                <meta-data android:name="android.max_aspect" android:value="3.5" />
            </application>
        </manifest>
    ]]></manifestAdditions>
</android>

When I attempted to upload the APK to Google, it was rejected for the following reason:

We've detected that one or more of the app bundles included in this release are using the following Play Billing Library versions: AIDL

Apparently this version of the billing library is not supported.

Known Workarounds

I'm not certain how to correct the Billing library. Is it necessary to include an ANE with billing support in order for this permission to be accepted?

RossD20Studios commented 4 months ago

As our resident ANE expert @marchbold - do you know if I would need to actually implement the In-App Purchase ANE in order to bypass this issue?

marchbold commented 4 months ago

You need to specify the version of the play billing library you are using in your app.

https://docs.airnativeextensions.com/docs/inappbilling/add-the-extension

The error is stated you haven't included the following line (with the appropriate version):

<meta-data android:name="com.google.android.play.billingclient.version" android:value="6.2.1" />

You can't just add the billing permission without implementing the library.

RossD20Studios commented 4 months ago

Thank you so much much @marchbold ! Your solution worked. I was able to add the billing permission and have the red rejection warning removed after adding the billingClient version.

marchbold commented 4 months ago

Glad to help! 👍