Skip to content

Commit ed9209d

Browse files
committed
update README
1 parent 069a720 commit ed9209d

File tree

1 file changed

+82
-9
lines changed

1 file changed

+82
-9
lines changed

README.md

+82-9
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ Read this in other languages: [English][en-readme], [中文][zh-readme], [日本
5757

5858
### Additional features
5959

60+
* [AppTrackingTransparency framework](#ad-att-framework)
61+
* [App-tracking authorisation wrapper](#ad-ata-wrapper)
62+
* [SKAdNetwork framework](#ad-skadn-framework)
6063
* [Push token (uninstall tracking)](#ad-push-token)
6164
* [Attribution callback](#ad-attribution-callback)
6265
* [Ad revenue tracking](#ad-ad-revenue)
@@ -105,13 +108,13 @@ Add the prefab from `Assets/Adjust/Adjust.prefab` to the first scene.
105108

106109
You can edit the Adjust script parameters in the prefab `Inspector menu` to set up the following options:
107110

108-
* [start manually](#start-manually)
109-
* [event buffering](#event-buffering)
110-
* [send in background](#background-tracking)
111-
* [launch deferred deeplink](#deeplinking-deferred-open)
112-
* [app token](#app-token)
113-
* [log level](#adjust-logging)
114-
* [environment](#environment)
111+
* [Start Manually](#start-manually)
112+
* [Event Buffering](#event-buffering)
113+
* [Send In Background](#background-tracking)
114+
* [Launch Deferred Deeplink](#deeplinking-deferred-open)
115+
* [App Token](#app-token)
116+
* [Log Level](#adjust-logging)
117+
* [Environment](#environment)
115118

116119
![][adjust_editor]
117120

@@ -233,17 +236,22 @@ To execute the iOS post-build process properly, use Unity 5 or later and have `i
233236

234237
- Adds the `iAd.framework` (needed for Apple Search Ads tracking)
235238
- Adds the `AdSupport.framework` (needed for reading IDFA)
236-
- Adds the `CoreTelephony.framework` (needed for reading MMC and MNC)
239+
- Adds the `CoreTelephony.framework` (needed for reading type of network device is connected to)
237240
- Adds the other linker flag `-ObjC` (needed to recognize Adjust Objective-C categories during build time)
238241
- Enables `Objective-C exceptions`
239242

243+
In case you enable iOS 14 support (`Assets/Adjust/Toggle iOS 14 Support`), iOS post-build process will add two additional frameworks to your Xcode project:
244+
245+
- Adds the `AppTrackingTransparency.framework` (needed to ask for user's consent to be tracked and obtain status of that consent)
246+
- Adds the `StoreKit.framework` (needed for communication with SKAdNetwork framework)
247+
240248
#### <a id="qs-post-build-android"></a>Android post-build process
241249

242250
The Android post-build process makes changes to the `AndroidManifest.xml` file located in `Assets/Plugins/Android/`. It also checks for the presence of the `AndroidManifest.xml` file in the Android plugins folder. If the file is not there, it creates a copy from our compatible manifest file `AdjustAndroidManifest.xml`. If there is already an `AndroidManifest.xml` file, it makes the following changes:
243251

244252
- Adds the `INTERNET` permission (needed for Internet connection)
245253
- Adds the `ACCESS_WIFI_STATE` permission (needed if you are not distributing your app via the Play Store)
246-
- Adds the `ACCESS_NETWORK_STATE` permission (needed for reading the MMC and MNC)
254+
- Adds the `ACCESS_NETWORK_STATE` permission (needed for reading type of network device is connected to)
247255
- Adds the `BIND_GET_INSTALL_REFERRER_SERVICE` permission (needed for the new Google install referrer API to work)
248256
- Adds the Adjust broadcast receiver (needed for getting install referrer information via Google Play Store intent). For more details, consult the official [Android SDK README][android].
249257

@@ -519,6 +527,71 @@ You can delay the start time of the Adjust SDK for a maximum of 10 seconds.
519527

520528
Once you integrate the Adjust SDK into your project, you can take advantage of the following features:
521529

530+
### <a id="ad-att-framework"></a>AppTrackingTransparency framework
531+
532+
**Note**: This feature exists only in iOS platform.
533+
534+
For each package sent, the Adjust backend receives one of the following four (4) states of consent for access to app-related data that can be used for tracking the user or the device:
535+
536+
- Authorized
537+
- Denied
538+
- Not Determined
539+
- Restricted
540+
541+
After a device receives an authorization request to approve access to app-related data, which is used for user device tracking, the returned status will either be Authorized or Denied.
542+
543+
Before a device receives an authorization request for access to app-related data, which is used for tracking the user or device, the returned status will be Not Determined.
544+
545+
If authorization to use app tracking data is restricted, the returned status will be Restricted.
546+
547+
The SDK has a built-in mechanism to receive an updated status after a user responds to the pop-up dialog, in case you don't want to customize your displayed dialog pop-up. To conveniently and efficiently communicate the new state of consent to the backend, Adjust SDK offers a wrapper around the app tracking authorization method described in the following chapter, App-tracking authorization wrapper.
548+
549+
### <a id="ad-ata-wrapper"></a>App-tracking authorisation wrapper
550+
551+
**Note**: This feature exists only in iOS platform.
552+
553+
Adjust SDK offers the possibility to use it for requesting user authorization in accessing their app-related data. Adjust SDK has a wrapper built on top of the [requestTrackingAuthorizationWithCompletionHandler:](https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorizationwith?language=objc) method, where you can as well define the callback method to get information about a user's choice. Also, with the use of this wrapper, as soon as a user responds to the pop-up dialog, it's then communicated back using your callback method. The SDK will also inform the backend of the user's choice. The `NSUInteger` value will be delivered via your callback method with the following meaning:
554+
555+
- 0: `ATTrackingManagerAuthorizationStatusNotDetermined`
556+
- 1: `ATTrackingManagerAuthorizationStatusRestricted`
557+
- 2: `ATTrackingManagerAuthorizationStatusDenied`
558+
- 3: `ATTrackingManagerAuthorizationStatusAuthorized`
559+
560+
To use this wrapper, you can call it as such:
561+
562+
```csharp
563+
Adjust.requestTrackingAuthorizationWithCompletionHandler((status) =>
564+
{
565+
switch (status)
566+
{
567+
case 0:
568+
// ATTrackingManagerAuthorizationStatusNotDetermined case
569+
break;
570+
case 1:
571+
// ATTrackingManagerAuthorizationStatusRestricted case
572+
break;
573+
case 2:
574+
// ATTrackingManagerAuthorizationStatusDenied case
575+
break;
576+
case 3:
577+
// ATTrackingManagerAuthorizationStatusAuthorized case
578+
break;
579+
}
580+
});
581+
```
582+
583+
### <a id="ad-skadn-framework"></a>SKAdNetwork framework
584+
585+
**Note**: This feature exists only in iOS platform.
586+
587+
If you have implemented the Adjust iOS SDK v4.23.0 or above and your app is running on iOS 14, the communication with SKAdNetwork will be set on by default, although you can choose to turn it off. When set on, Adjust automatically registers for SKAdNetwork attribution when the SDK is initialized. If events are set up in the Adjust dashboard to receive conversion values, the Adjust backend sends the conversion value data to the SDK. The SDK then sets the conversion value. After Adjust receives the SKAdNetwork callback data, it is then displayed in the dashboard.
588+
589+
In case you don't want the Adjust SDK to automatically communicate with SKAdNetwork, you can disable that by calling the following method on configuration object:
590+
591+
```csharp
592+
adjustConfig.deactivateSKAdNetworkHandling();
593+
```
594+
522595
### <a id="ad-push-token"></a>Push token (uninstall tracking)
523596

524597
Push tokens are used for Audience Builder and client callbacks; they are also required for uninstall and reinstall tracking.

0 commit comments

Comments
 (0)