Skip to content

Commit 782af9d

Browse files
committed
idfa v6.0.0
1 parent 77c7cd7 commit 782af9d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+166
-97
lines changed

docs/idfa/_includes/add-manual-appdescriptor.mdx

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,30 +21,18 @@ The following should be added to your `extensions` node in your application desc
2121

2222
#### Manifest Additions
2323

24-
You need to make sure you add the `android.permission.INTERNET` permission and the
25-
`com.google.android.gms.version` tags to your manifest additions as below:
26-
24+
You need to make sure you add the `android.permission.INTERNET` permission to your manifest additions as below:
2725

2826
```xml
2927
<manifest android:installLocation="auto">
3028
<uses-permission android:name="android.permission.INTERNET"/>
3129

32-
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
33-
3430
<application>
35-
36-
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
37-
38-
<activity android:name="com.google.android.gms.common.api.GoogleApiActivity"
39-
android:theme="@android:style/Theme.Translucent.NoTitleBar"
40-
android:exported="false" />
41-
4231
</application>
4332
</manifest>
4433
```
4534

4635

47-
4836
### iOS
4937

5038
:::note iOS SDK

docs/idfa/changelog.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
### 2024.12.11 [v6.0.0]
2+
3+
```
4+
## Major update
5+
6+
In this update we have moved all the extensions to use the newer gradle dependencies process.
7+
8+
https://docs.airnativeextensions.com/docs/idfa/migrating
9+
10+
feat(android): move to gradle dependencies
11+
```
12+
113
### 2023.01.18 [v5.2.0]
214

315
```

docs/idfa/migrating.md

Lines changed: 0 additions & 39 deletions
This file was deleted.

docs/idfa/migrating.mdx

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
title: Migrating
3+
sidebar_label: Migrating
4+
---
5+
6+
import Tabs from '@theme/Tabs'
7+
import TabItem from '@theme/TabItem'
8+
9+
10+
## Version 6.0
11+
12+
This latest release brings a number of updates to the extension particularly around android integration.
13+
14+
We have moved to using gradle dependencies within our extensions which will improve dependency resolution, reduce update times and improve compatibility with other extensions.
15+
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).
16+
17+
There should be no changes required to your code for this update.
18+
19+
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.
20+
21+
22+
### Android Integration
23+
24+
#### Gradle Dependencies
25+
26+
We have moved to using gradle dependencies within our extensions which will improve dependency resolution, reduce update times and improve compatibility with other extensions.
27+
28+
This also reduces the amount of work required to manually integrate the extensions, reducing the additions to the manifest in your application descriptor.
29+
30+
31+
#### Updating code
32+
33+
There should be no changes required to your code for this update.
34+
35+
36+
#### Updating the manifest
37+
38+
You can simplify the manifest now as well as the gradle implementation will add a significant amount of the required manifest entries for you.
39+
If you use the `apm` tool to generate your application descriptor
40+
41+
We highly recommend using the [apm](https://airnativeextensions.com/docs/using-apm) tool to manage the integration of the extensions in your application and to generate your application descriptor:
42+
43+
```bash
44+
apm generate app-descriptor
45+
```
46+
47+
You will see the manifest entries are significantly reduced and simply running the commands above will update the manifest for you.
48+
49+
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.
50+
51+
If you manually update the manifest then, we recommend starting fresh as there have been a lot of entries to be removed.
52+
The minimum manifest additions now looks like the following:
53+
54+
```xml
55+
<manifest android:installLocation="auto">
56+
57+
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34"/>
58+
59+
<uses-permission android:name="android.permission.INTERNET"/>
60+
61+
<application>
62+
63+
<activity android:name="com.distriqt.core.auth.AuthorisationActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
64+
65+
</application>
66+
67+
</manifest>
68+
```
69+
70+
71+
72+
## Version 5
73+
74+
Version 5 brings the iOS 14 authorisation requests using the App Tracking Transparency framework.
75+
76+
You will need to add the usage description to your info additions:
77+
78+
```xml
79+
<key>NSUserTrackingUsageDescription</key>
80+
<string>This identifier will be used to deliver personalized ads to you.</string>
81+
```
82+
83+
([Reference](add-the-extension.mdx))
84+
85+
And to ensure you have authorisation before attempting to retrieve the IDFA:
86+
87+
```actionscript
88+
if (IDFA.service.authorisationStatus() == TrackingAuthorisationStatus.AUTHORISED)
89+
{
90+
// You have permission to access the IDFA
91+
}
92+
```
93+
94+
[Reference](get-advertising-identifier.md#authorisation)
95+
96+
97+
98+
## Version 4
99+
100+
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.
101+
102+
In order to support this change you will need to add the `com.distriqt.playservices.AdsIdentifier` dependency and remove the `com.distriqt.playservices.Ads`.
103+
104+
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.
105+

sidebars.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1888,7 +1888,10 @@ module.exports = {
18881888
Usage: ["idfa/get-advertising-identifier"],
18891889
},
18901890
{
1891-
Help: ["idfa/migrating", "idfa/migrating-to-androidx"],
1891+
Help: [
1892+
"idfa/migrating",
1893+
"idfa/migrating-to-androidx"
1894+
],
18921895
},
18931896
{
18941897
Other: [

static/asdocs/idfa/all-classes.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ <h3><a href="class-summary.html" target="classFrame" style="color:black">All Cla
2828
</table>
2929
</body>
3030
</html>
31-
<!--Copyright distriqt 2016<br/>Wed Jan 18 2023, 06:14 PM +10:00 -->
31+
<!--Copyright distriqt 2016<br/>Wed Dec 11 2024, 10:57 AM +10:00 -->

static/asdocs/idfa/all-index-A.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@
1818
Returns the current authorisation status of the device.</td></tr><tr><td class="idxrow" colspan="2"><a href="com/distriqt/extension/idfa/events/IDFAAuthorisationEvent.html#authorisationStatus" onclick="javascript:loadClassListFrame('com/distriqt/extension/idfa/events/class-list.html');">authorisationStatus</a> &mdash; Property, class com.distriqt.extension.idfa.events.<a href="com/distriqt/extension/idfa/events/IDFAAuthorisationEvent.html" onclick="javascript:loadClassListFrame('com/distriqt/extension/idfa/events/class-list.html');">IDFAAuthorisationEvent</a></td></tr><tr><td width="20"></td><td>
1919
The new authorisation status value from the TrackingAuthorisationStatus constants
2020
</td></tr><tr><td class="idxrow" colspan="2"><a href="com/distriqt/extension/idfa/TrackingAuthorisationStatus.html#AUTHORISED" onclick="javascript:loadClassListFrame('com/distriqt/extension/idfa/class-list.html');">AUTHORISED</a> &mdash; Constant Static Property, class com.distriqt.extension.idfa.<a href="com/distriqt/extension/idfa/TrackingAuthorisationStatus.html" onclick="javascript:loadClassListFrame('com/distriqt/extension/idfa/class-list.html');">TrackingAuthorisationStatus</a></td></tr><tr><td width="20"></td><td>
21-
The end user has authorized access to app-related data that can be used for tracking the user or the device.</td></tr><tr><td colspan="2" style="padding-bottom:20px"></td></tr><tr><td colspan="2"><font color="black" size="10px" style="bold">A</font>&nbsp;&nbsp;<a href="all-index-B.html" onclick="javascript:loadClassListFrame('index-list.html');">B</a>&nbsp;&nbsp;<a href="all-index-C.html" onclick="javascript:loadClassListFrame('index-list.html');">C</a>&nbsp;&nbsp;<a href="all-index-D.html" onclick="javascript:loadClassListFrame('index-list.html');">D</a>&nbsp;&nbsp;<a href="all-index-E.html" onclick="javascript:loadClassListFrame('index-list.html');">E</a>&nbsp;&nbsp;<a href="all-index-F.html" onclick="javascript:loadClassListFrame('index-list.html');">F</a>&nbsp;&nbsp;<a href="all-index-G.html" onclick="javascript:loadClassListFrame('index-list.html');">G</a>&nbsp;&nbsp;<a href="all-index-H.html" onclick="javascript:loadClassListFrame('index-list.html');">H</a>&nbsp;&nbsp;<a href="all-index-I.html" onclick="javascript:loadClassListFrame('index-list.html');">I</a>&nbsp;&nbsp;<a href="all-index-J.html" onclick="javascript:loadClassListFrame('index-list.html');">J</a>&nbsp;&nbsp;<a href="all-index-K.html" onclick="javascript:loadClassListFrame('index-list.html');">K</a>&nbsp;&nbsp;<a href="all-index-L.html" onclick="javascript:loadClassListFrame('index-list.html');">L</a>&nbsp;&nbsp;<a href="all-index-M.html" onclick="javascript:loadClassListFrame('index-list.html');">M</a>&nbsp;&nbsp;<a href="all-index-N.html" onclick="javascript:loadClassListFrame('index-list.html');">N</a>&nbsp;&nbsp;<a href="all-index-O.html" onclick="javascript:loadClassListFrame('index-list.html');">O</a>&nbsp;&nbsp;<a href="all-index-P.html" onclick="javascript:loadClassListFrame('index-list.html');">P</a>&nbsp;&nbsp;<a href="all-index-Q.html" onclick="javascript:loadClassListFrame('index-list.html');">Q</a>&nbsp;&nbsp;<a href="all-index-R.html" onclick="javascript:loadClassListFrame('index-list.html');">R</a>&nbsp;&nbsp;<a href="all-index-S.html" onclick="javascript:loadClassListFrame('index-list.html');">S</a>&nbsp;&nbsp;<a href="all-index-T.html" onclick="javascript:loadClassListFrame('index-list.html');">T</a>&nbsp;&nbsp;<a href="all-index-U.html" onclick="javascript:loadClassListFrame('index-list.html');">U</a>&nbsp;&nbsp;<a href="all-index-V.html" onclick="javascript:loadClassListFrame('index-list.html');">V</a>&nbsp;&nbsp;<a href="all-index-W.html" onclick="javascript:loadClassListFrame('index-list.html');">W</a>&nbsp;&nbsp;<a href="all-index-X.html" onclick="javascript:loadClassListFrame('index-list.html');">X</a>&nbsp;&nbsp;<a href="all-index-Y.html" onclick="javascript:loadClassListFrame('index-list.html');">Y</a>&nbsp;&nbsp;<a href="all-index-Z.html" onclick="javascript:loadClassListFrame('index-list.html');">Z</a>&nbsp;&nbsp;</td></tr></table><p></p><center class="copyright"><footer>Copyright <a href="https://distriqt.com" target="_top">distriqt</a> 2016</footer><br/>Wed Jan 18 2023, 06:14 PM +10:00 </center></div></body></html><!--Copyright distriqt 2016<br/>Wed Jan 18 2023, 06:14 PM +10:00 -->
21+
The end user has authorized access to app-related data that can be used for tracking the user or the device.</td></tr><tr><td colspan="2" style="padding-bottom:20px"></td></tr><tr><td colspan="2"><font color="black" size="10px" style="bold">A</font>&nbsp;&nbsp;<a href="all-index-B.html" onclick="javascript:loadClassListFrame('index-list.html');">B</a>&nbsp;&nbsp;<a href="all-index-C.html" onclick="javascript:loadClassListFrame('index-list.html');">C</a>&nbsp;&nbsp;<a href="all-index-D.html" onclick="javascript:loadClassListFrame('index-list.html');">D</a>&nbsp;&nbsp;<a href="all-index-E.html" onclick="javascript:loadClassListFrame('index-list.html');">E</a>&nbsp;&nbsp;<a href="all-index-F.html" onclick="javascript:loadClassListFrame('index-list.html');">F</a>&nbsp;&nbsp;<a href="all-index-G.html" onclick="javascript:loadClassListFrame('index-list.html');">G</a>&nbsp;&nbsp;<a href="all-index-H.html" onclick="javascript:loadClassListFrame('index-list.html');">H</a>&nbsp;&nbsp;<a href="all-index-I.html" onclick="javascript:loadClassListFrame('index-list.html');">I</a>&nbsp;&nbsp;<a href="all-index-J.html" onclick="javascript:loadClassListFrame('index-list.html');">J</a>&nbsp;&nbsp;<a href="all-index-K.html" onclick="javascript:loadClassListFrame('index-list.html');">K</a>&nbsp;&nbsp;<a href="all-index-L.html" onclick="javascript:loadClassListFrame('index-list.html');">L</a>&nbsp;&nbsp;<a href="all-index-M.html" onclick="javascript:loadClassListFrame('index-list.html');">M</a>&nbsp;&nbsp;<a href="all-index-N.html" onclick="javascript:loadClassListFrame('index-list.html');">N</a>&nbsp;&nbsp;<a href="all-index-O.html" onclick="javascript:loadClassListFrame('index-list.html');">O</a>&nbsp;&nbsp;<a href="all-index-P.html" onclick="javascript:loadClassListFrame('index-list.html');">P</a>&nbsp;&nbsp;<a href="all-index-Q.html" onclick="javascript:loadClassListFrame('index-list.html');">Q</a>&nbsp;&nbsp;<a href="all-index-R.html" onclick="javascript:loadClassListFrame('index-list.html');">R</a>&nbsp;&nbsp;<a href="all-index-S.html" onclick="javascript:loadClassListFrame('index-list.html');">S</a>&nbsp;&nbsp;<a href="all-index-T.html" onclick="javascript:loadClassListFrame('index-list.html');">T</a>&nbsp;&nbsp;<a href="all-index-U.html" onclick="javascript:loadClassListFrame('index-list.html');">U</a>&nbsp;&nbsp;<a href="all-index-V.html" onclick="javascript:loadClassListFrame('index-list.html');">V</a>&nbsp;&nbsp;<a href="all-index-W.html" onclick="javascript:loadClassListFrame('index-list.html');">W</a>&nbsp;&nbsp;<a href="all-index-X.html" onclick="javascript:loadClassListFrame('index-list.html');">X</a>&nbsp;&nbsp;<a href="all-index-Y.html" onclick="javascript:loadClassListFrame('index-list.html');">Y</a>&nbsp;&nbsp;<a href="all-index-Z.html" onclick="javascript:loadClassListFrame('index-list.html');">Z</a>&nbsp;&nbsp;</td></tr></table><p></p><center class="copyright"><footer>Copyright <a href="https://distriqt.com" target="_top">distriqt</a> 2016</footer><br/>Wed Dec 11 2024, 10:57 AM +10:00 </center></div></body></html><!--Copyright distriqt 2016<br/>Wed Dec 11 2024, 10:57 AM +10:00 -->

0 commit comments

Comments
 (0)