feat: add fetchDeferredAppLink method for Facebook ad attribution#471
feat: add fetchDeferredAppLink method for Facebook ad attribution#471g-apparence wants to merge 7 commits intooddbit:mainfrom
Conversation
chore: update iOS deployment target to 13.0 chore: update Android Gradle plugin version to 8.2.1 chore: update Podfile.lock to version 0.24.0
|
So does the current version of this SDK not work for AEM? e.g., events will not be attributed for anyone who denies ATT? |
I think yes. At least i've never been able to make it properly work on AEM for my apps |
|
I think you're right, I switched from AppsFlyer to this package yesterday, and my attributions tanked. We should get this tested and merged |
|
I am testing on my own apps. Hope this get merged |
|
Ok I can say AEM now works |
|
ALso migrated to the UIScene delegate to make this work with latest flutter changes |
|
I took time to investigate on how the RN plugin works |
|
Thanks @g-apparence do you have this uploaded elsewhere, would love to use your version until this gets merged |
|
@michaeljajou it's here https://github.com/g-apparence/flutter_facebook_app_events/tree/main But if @DennisAlund don't want to merge this I'll publish this as a copy. (Would prefer not but seems not really active here) |
|
Sorry I missed this one and aplogies for slow replies. I see that it is not addressing any issue that has been reported. As for your comment
A good solution while waiting for the official release is that you proceed in your app development with a personal clone of the repo where your fix is implemented. Publishing to the marketplace is not necessary and will likely not be the easiest path forward for you. But I understand the frustration. |
|
Thanks for putting the work into this @g-apparence, I appreciate you digging into the RN SDK to figure out the AEM piece. I've had a proper look through the changes now and I think there's some good stuff in here, but the scope has grown beyond what this plugin is meant to cover. This plugin wraps the Facebook App Events SDK specifically — event logging, purchase tracking, and the analytics side of things. It's not meant to be a general-purpose Facebook SDK wrapper. Looking at the individual pieces:
What I do think makes sense is the internal AEM recording you've wired into The UIScene lifecycle migration is also something we'll need at some point for Flutter 3.38+ compatibility, so that's useful groundwork. If you'd be willing to trim this down to just those two things (internal AEM attribution in the existing event methods + UIScene migration), rebase onto current For the App Links and standalone AEM pieces I'd suggest combining with other Flutter packages that wrap those parts of the Facebook SDK, or creating a separate plugin for them. Happy to link to it from the README if you do. |
|
Hey, thank you for replying. I think that AEM is now the new attribution standart. And there is no point of using the facebook sdk without it. |
|
I second this ^ AEM is the new standard for Meta App Attribution. Tracking is rendered useless without it, and it uses deferred deep linking for app event attribution |
|
I hear you both, and I agree AEM is critical for attribution in the post-ATT world. I'm happy to take the internal AEM recording wired into Where we differ is on I understand the appeal of having it all in one package, but expanding scope like that creates maintenance burden, makes the plugin harder to reason about, and works against the modularity that Meta designed into their SDK. So I think the way forward is to: trim this to the internal AEM attribution + UIScene migration. For the App Links piece, I genuinely think a separate plugin is the right home. |
|
Facebook split those things for internal logistics. It's not because meta have different packages that we need to split everything. If you run ads using meta you need all those things together. |
Summary
Add
fetchDeferredAppLink()method to retrieve campaign attribution data from Facebook ad campaigns. This enables better event-to-campaign linking for improved attribution accuracy.Changes
fetchDeferredAppLink()method to Dart APIAppLinkUtility.fetchDeferredAppLink()AppLinkData.fetchDeferredAppLinkData()New API
Usage
Important Notes