05/15/2024 15:19:45

Solution

1. Is MSDKSensitivity plugin required?

No, it is not a required component.
When you need to collect IDFA, you can access the MSDKSensitivity plugin according to the second step's description.
When you do not need to collect IDFA, you can delete MSDKSensitivity.framework; if you are using Xcode 12 to compile your code, you need to delete AppTrackingTransparency.framework, etc. For details, please refer to: Native iOS Access Guide.

2. What are the specific steps to obtain IDFA through the 'AppTrackingTransparency' framework?

(1) Xcode-Build Phases-Link Binary With Libraries adds AppTrackingTransparency.framework (XCode 12 and above).
(2) Add key Privacy-Tracking Usage Description in info.plist, and fill in the reason for using IDFA in 'value'.
(3) Import MSDKSensitivity.framework in 'Bulid Phrases' of the XCode project.
(4) In the MSDKConfig.ini file, set the value of the 'MSDK_APP_TRACKING_ENABLE' parameter to 1 (require MSDK V5 version, with a version number of 5.12 and above);
Add the key 'MSDK_APP_TRACKING_ENABLE' and the valueYES` in the info.plist file of the game development project (require MSDK V3 version, with a version number of 3.3.16 and above).

3. After the game has accessed the MSDKSensitivity plugin and entered the relevant MSDKConfig and info.plist configurations, how to verify that the plugin is successfully accessed? Is there any corresponding performance or log that can be used as a basis for judgment?

If your game obtains IDFA by itself, you can see whether the acquisition is successful; if you want to verify whether MSDK can obtain IDFA normally, you need to query 'tlog' if there are IDFA data in the relevant fields.

All pop-up windows are popped up by the game itself, and MSDK currently does not provide any interface for this.
Pop-up windows can be popped up through Apple's native layer interfaces. Please refer to:

#import <AppTrackingTransparency/AppTrackingTransparency.h>
if (@available(iOS 14.0, *)) {
    [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {

    }];
}

5. What is the difference between the new AppTrackingTransparency method and the old AdvertisingIdentifier (ASI) method in obtaining IDFA?

After accessing the ATT framework, the new method still obtain IDFA through ASI, and the interface has not changed (Apple does not provide any new interface). Accessing the ATT framework is just to add the necessary permission application and judgment logic to the process of obtaining IDFA.
According to the description of Apple's official documentation, there are 3 steps to access the ATT framework: https://developer.apple.com/documentation/apptrackingtransparency/
Step 1: Set the description of the requested permission
Step 2: The client pops up a window to request permissions from the player
Step 3: Judge if to call the interface to get IDFA according to the player's authorization situation
Step 3 has been processed on the MSDK, and the other two steps need to be processed by the game side. (For the corresponding version of processing, see Point 6 below)

Image Description

6. Does the MSDK obtain IDFA through the AppTrackingTransparency framework?

Versions before MSDK 5.12/MSDK 3.3.15 did not obtain IDFA through the AppTrackingTransparency framework.
After MSDK receives Apple's changes, it has added the AppTrackingTransparency framework in 5.12/3.3.15 and later versions to get IDFA. Whether to choose this method to obtain IDFA is up to the project team to decide (whether to access MSDKSensitivity plugin).
Attachment: Several key versions

MSDK V5 version MSDK V3 version
The version which started using ATT framework 5.12 3.3.15
The version which adds a switch to be compatible with IDFA collection 5.12 3.3.16

7. What are the specific risks involved in the review if I do not access the AppTrackingTransparency framework?

Image Description

https://developer.apple.com/app-store/user-privacy-and-data-use/

The currently known risk is: Apple's official documentation clearly states that starting from iOS 14.5, it is needed to access the ATT framework to pop up a window for the user to authorize IDFA collection. Game developers can make decisions by themselves.

A bug of the iOS system; it may recur in some devices installed with iOS 14.2/14.3/14.4. Apple forums say that resetting the system settings and reinstalling the app can resolve the bug. Please refer to: https://developer.apple.com/forums/thread/671623

Image Description

9. After popping up the IDFA pop-up window through ATT API and confirming that permission is granted, confirm that the app has IDFA permission. However, in the postBody of the log reporting data, the reported IDFA data is empty, and the log has an output: [(TDeviceInfoHolder.cpp:141) IsDeviceInfoEnable]: is enable device info: 0

Starting from MSDK 5.8 version, MSDK starts to use IDFA obtained by TDM. If the switch for TDM to obtain the device information is turned off, MSDK will not be able to obtain IDFA data.
http://docs.tdm.woa.com/docs/sdks/android-sdk.html#android-five

Image Description



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""