AppsFlyerSDK / appsflyer-flutter-plugin

Flutter Plugin for AppsFlyer SDK
MIT License
142 stars 111 forks source link

iOS privacy manifest #304

Closed yukihiro-numata closed 2 months ago

yukihiro-numata commented 4 months ago

By Apple's guidelines, you must add an empty file even if you are not collecting anything. ref: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files

Heech commented 2 months ago

Looks like the Apple privacy manifest support has yet to be added to the native iOS SDK. https://support.appsflyer.com/hc/en-us/articles/115001224823-AppsFlyer-iOS-SDK-release-notes

This article says we can add the required reasons directly to the app's manifest until this is added in the SDK. https://support.appsflyer.com/hc/en-us/articles/21677433322641-Privacy-Manifest

AppsFlyer is working on an updated SDK which will include a Privacy Manifest to ease the app developers process of generating their nutrition labels - This SDK update is not mandatory.

If you don't want to wait for the new SDK, you can declare the three required reasons APIs below using the provided code snippet in your Privacy Manifest.

snipd-min commented 2 months ago

It seems like the pages have seen been updated as 6.14 is out on iOS but not yet on Flutter (couldn't find the lines about "If you don't want to wait for the new SDK, you can declare the three required reasons APIs below using the provided code snippet in your Privacy Manifest.") anymore.

Are you sure we can declare the the required reasons ourselves? Per https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api#4278401, it says it has to be defined in the 3rd party SDK

If you use the API in your third-party SDK’s code, then you need to report the API in your third-party SDK’s privacy manifest file. Your third-party SDK can’t rely on the privacy manifest files for apps that link the third-party SDK, or those of other third-party SDKs the app links, to report your third-party SDK’s use of required reasons API.

PS: @yukihiro-numata could you clarify where it is implied that an empty file is needed even there is nothing to declare? I couldn't find it in the docs...

yukihiro-numata commented 2 months ago

@snipd-min

could you clarify where it is implied that an empty file is needed even there is nothing to declare? I couldn't find it in the docs...

https://github.com/flutter/flutter/issues/139761#issuecomment-1881394943 In the above comment, it states that an empty file is needed even if there is nothing to declare.

However, I've found the comment also states that an empty file is not necessary when there are no declarations required.

If your framework doesn't require a privacy manifest, do nothing. Avoid adding an empty privacy manifest to your framework.

ref: https://developer.apple.com/forums/thread/746481?answerId=782256022#782256022

So, I'm confused and unsure which information is correct.

Danyalo commented 2 months ago

Hello @al-af it seems that native iOS plugin already has privacy manifest support. Given that the deadline Apple gives for this is end of April, could you please roll out an updated Flutter package so we can start testing it?

BenjaminStoeberl commented 2 months ago

Any update on this? When do you plan do integrate the iOS SDK 6.14.0 into the flutter plugin?

al-af commented 2 months ago

@Danyalo @BenjaminStoeberl A new Flutter SDK version has been released v6.14.2, it's based on Android v6.14.0 and iOS v6.14.2 with the Privacy Manifest.