xamarin / GooglePlayServicesComponents

Other
315 stars 146 forks source link

Billing Library missing meta-data export #827

Closed jamesmontemagno closed 11 months ago

jamesmontemagno commented 11 months ago

Android application type

Classic Xamarin.Android (MonoAndroid12.0, etc.), Android for .NET (net6.0-android, etc.)

Affected platform version

Android 6.0.1.3

Description

Metadata should be added in:

https://github.com/jamesmontemagno/InAppBillingPlugin/issues/575

Steps to Reproduce

Create new app, use billing library, compile, notice that manifest isn't updated.

Did you find any workaround?

Manually add it in

Relevant log output

No response

jpobst commented 11 months ago

A quick test appears to work, so the repro might be a little more complicated.

With dotnet 8.0.100:

Opening up the created apk in Android Studio shows the included AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="1"
    android:versionName="1.0"
    android:compileSdkVersion="34"
    android:compileSdkVersionCodename="14"
    package="com.companyname.billing_test"
    platformBuildVersionCode="34"
    platformBuildVersionName="14">

    <uses-sdk
        android:minSdkVersion="21"
        android:targetSdkVersion="34" />

    <uses-permission
        android:name="android.permission.INTERNET" />

    <uses-permission
        android:name="com.android.vending.BILLING" />

    <queries>

        <intent>

            <action
                android:name="com.android.vending.billing.InAppBillingService.BIND" />
        </intent>
    </queries>

    <uses-permission
        android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:label="@ref/0x7f040000"
        android:icon="@ref/0x7f030000"
        android:name="android.app.Application"
        android:debuggable="true"
        android:allowBackup="true"
        android:supportsRtl="true"
        android:extractNativeLibs="true"
        android:roundIcon="@ref/0x7f030003">

        <uses-library
            android:name="org.apache.http.legacy"
            android:required="false" />

        <activity
            android:label="@ref/0x7f040000"
            android:name="crc6430c89de21b2ae71e.MainActivity"
            android:exported="true">

            <intent-filter>

                <action
                    android:name="android.intent.action.MAIN" />

                <category
                    android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <provider
            android:name="mono.MonoRuntimeProvider"
            android:exported="false"
            android:authorities="com.companyname.billing_test.mono.MonoRuntimeProvider.__mono_init__"
            android:initOrder="1999999999" />

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

        <activity
            android:theme="@ref/0x01030010"
            android:name="com.android.billingclient.api.ProxyBillingActivity"
            android:exported="false"
            android:configChanges="0x5b0" />

        <service
            android:name="com.google.android.datatransport.runtime.backends.TransportBackendDiscovery"
            android:exported="false">

            <meta-data
                android:name="backend:com.google.android.datatransport.cct.CctBackendFactory"
                android:value="cct" />
        </service>

        <service
            android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService"
            android:permission="android.permission.BIND_JOB_SERVICE"
            android:exported="false" />

        <receiver
            android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver"
            android:exported="false" />
    </application>
</manifest>
jamesmontemagno commented 11 months ago

Roger that! Maybe it was broken in 6.0.1.1..... i will try that out. but we can close now.

jamesmontemagno commented 11 months ago

Tested it out an 6.0.1.1 worked.... hmmmm...

If I install Plugin.InAppBilling 7.1.0 it also works when i dump it ou