Skip to main content

Migration v16.0

This latest release brings a number of updates to the extension particularly around the Android integration.

The iOS implementation remains largely unchanged.

Android Integration

com.google.android.play

The extension now requires the com.google.android.play.appupdate extension to be included in your application instead of the previously used com.google.android.play. This should resolve issues with a foreground service being required for the Play Billing Library.

You should remove the com.google.android.play extension from your application and include the com.google.android.play.appupdate extension instead.

Gradle Dependencies

We have moved to using gradle dependencies within our extensions which will improve dependency resolution, reduce update times and improve compatibility with other extensions.

This also reduces the amount of work required to manually integrate the extensions, reducing the additions to the manifest in your application descriptor.

Updating code

There should be no required changes to your code to update to this version of the extension.

Updating the manifest

You can simplify the manifest now as well as the gradle implementation will add a significant amount of the required manifest entries for you.

We highly recommend using the apm tool to manage the integration of the extensions in your application and to generate your application descriptor:

apm update
apm generate app-descriptor

If you use the apm tool to generate your application descriptor you will see the manifest entries are significantly reduced and simply running the commands above will update the manifest for you.

However, you can still integrate the manifest additions manually if you prefer. With this update we recommend starting fresh as there have been a lot of entries to be removed.

The minimum manifest additions now looks like the following:

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

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

<application>

<activity android:name="com.distriqt.extension.inappbilling.activities.ProductViewActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:exported="false" />

<activity android:name="com.distriqt.core.auth.AuthorisationActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:exported="false" />

</application>

</manifest>