Migrating
Version 6.0
This latest release brings a number of updates to the extension particularly around android integration.
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 (though we still highly recommend using apm for this purpose).
There should be no changes required to your code for this update.
However we do suggest checking out the manifest additions for the latest version of the extension as you should be able to greatly simplify your application descriptor now.
Android Integration
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 changes required to your code for this update.
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.
If you use the apm
tool to generate your application descriptor
We highly recommend using the apm tool to manage the integration of the extensions in your application and to generate your application descriptor:
apm generate app-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.
If you manually update the manifest then, 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.core.auth.AuthorisationActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
</application>
</manifest>
Version 5
Version 5 brings the iOS 14 authorisation requests using the App Tracking Transparency framework.
You will need to add the usage description to your info additions:
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>
And to ensure you have authorisation before attempting to retrieve the IDFA:
if (IDFA.service.authorisationStatus() == TrackingAuthorisationStatus.AUTHORISED)
{
// You have permission to access the IDFA
}
Version 4
Version 4 changes the Google Play Services dependencies removing the dependency on the entire Ads library and replacing it with the much smaller AdsIdentifier library.
In order to support this change you will need to add the com.distriqt.playservices.AdsIdentifier
dependency and remove the com.distriqt.playservices.Ads
.
Please note that other extensions may still need the com.distriqt.playservices.Ads
extension (mainly AdMob or related services) so ensure you check your other ANEs before removing it.