AppsFlyerSDK / appsflyer-capacitor-plugin

AppsFlyer SDK plugin for Capacitor
MIT License
13 stars 22 forks source link

ATT not collected when performing non-organic install SDK test #107

Closed kpturner closed 8 months ago

kpturner commented 9 months ago

Plugin Version

ℹ 6.12.1

On what Platform are you having the issue?

ℹ iOS

What did you do?

ℹ Running the non-organic install test for iOS having prompted the user to agree to ATT

What did you expect to happen?

ℹ The test should complete and the ADFA data should have been collected

What happened instead?

ℹ The test completed but with an ADFA status of "not_determined"

Please provide any other relevant information.

ℹ I am following example 2 here

In the example, you run initSDK THEN you prompt the user to give permission for ATT

This I am doing and it all works fine. In the application, the ATT status is "authorized", so why does the SDK test report that ATT is "not_determined"? Support have suggested increasing waitForATTUserAuthorization from 60 to something more but that make no sense (and makes no difference). The "Waiting..." screen for the test in the Dashboard stays like that until the user responds to the "requestPermission" prompt. The instant the prompt is answered, the test on the dashboard completes. This implies that it is indeed waiting for the question to be answered before continuing. So it seems to be be sending "not_determined" even though the user has a) given permission and b) the status in the app is "authorised".

So the question is:

Looking at the "native" coding example (if we were not using this SDK) here it suggests this: 1) In the didFinishLaunchingWithOptions function run AppsFlyerLib.shared().waitForATTUserAuthorization(timeoutInterval: 60) 2) Add a listener for idBecomeActiveNotification 3) When idBecomeActiveNotification fires run AppsFlyer.start() followed by ATTrackingManager.requestTrackingAuthorization

Using the SDK code example we run 1) initSDK --> appsflyer.waitForATTUserAuthorization(timeoutInterval: Double(attInterval!)) on line 69 --> appsflyer.start on line 75 2) AppTrackingTransparency.requestPermission()

On the face of it the sequence of events seems the same - so why does it not work?

github-actions[bot] commented 8 months ago

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] commented 8 months ago

This issue was closed because it has been inactive for 14 days since being marked as stale.

kpturner commented 8 months ago

So if we log an issue, and nobody responds in any way shape or form, the issue gets automatically closed? 🤔

kpturner commented 8 months ago

To provide my own update, I think this whole onboarding/testing process only works properly on a real device as opposed to a simulator.