defold / extension-adinfo

Extension for retrieving advertising identifier
MIT License
1 stars 4 forks source link

iOS 14 Support #4

Open adamwestman opened 4 years ago

adamwestman commented 4 years ago

From iOS 14 it will be necessary to request access to IDFA, otherwise it will come back as 0000-0000-0000-000 etc. As such a new API function to trigger this popup will be needed.

Additionally the IsLimited flag will always be true, which means the .mm file will need to check below status. https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/authorizationstatus

adamwestman commented 4 years ago

You might also want to look into supporting SkAdNetwork for install attributions.

britzl commented 4 years ago

Interesting. Thank you for the information Adam. I do wonder if this extension is used by anyone though. I'm guessing most users get this functionality from the ad extension they use.

gianmichelemariani commented 4 years ago

Some more info:

https://developers.google.com/admob/ios/ios14

britzl commented 3 years ago

You might also want to look into supporting SkAdNetwork for install attributions.

I wonder if registerAppForAdNetworkAttribution should be called automatically by the extension or if there's any downside to this?

And should we also add updateConversionValue?

dri-richard commented 3 years ago

And should we also add updateConversionValue?

It seems that updateConversionValue is necessary for Facebook to optimise ads for installations, and that isn't called by extension-facebook either.

britzl commented 3 years ago

It seems that updateConversionValue is necessary for Facebook to optimise ads for installations

From Facebook: https://developers.facebook.com/blog/post/2020/10/29/preparing-our-partners-ios-14-latest-guidance-on-skadnetwork/

"In order to run app install campaigns optimizing for installs, app events or value optimization (VO), apps must be registered to use SKAdNetwork API and have implemented the ConversionValue() bits using the Facebook SDK, a supported Mobile Measurement Partner, or manually within a specific time range (all calls to updateConversionValue happen within 24 hours of install). We will be using install and post-install event data reported from SKAdNetwork API for the purpose of measurement and optimization."

I wonder what they mean by "and have implemented the ConversionValue() bits using the Facebook SDK"?

@dri-richard do you have more information about this?

dri-richard commented 3 years ago

@dri-richard do you have more information about this?

Not really. I'm unfamiliar with mobile marketing and find it all very confusing! My basic understanding is that the Conversion Value allows developers to associate a very small amount of data (a bitfield) with users so that advertising platforms can learn a little about how to target ads to different types of users. The Facebook SDK (together with their dashboard) can automatically suggest which Facebook events (tutorial complete, purchase complete etc) are most significant.

I had thought that by using the SkAdNetwork part of extension-adinfo, we could provide basic tracking on iOS14 to Facebook without having to use the Facebook SDK, and we could also avoid showing the 'permission to track' popup.

I tried the 'configure manually' option in Facebook's Events Manager, and expected it to allow me to specify which bits of the bitfield I would be using for various purposes, but it said "Events must be processing in Events Manager before you can configure them on SKAdNetwork." Which feels a little 'circular'.

Having said that, they do say "...or manually within a specific time range", so having the ability to specify something might be enough to trigger Facebook into registering the install event.

britzl commented 3 years ago

Not really. I'm unfamiliar with mobile marketing and find it all very confusing!

Ditto! If you do have a suggested change to this extension then we can look into it of course.

dri-richard commented 3 years ago

Ditto! If you do have a suggested change to this extension then we can look into it of course.

Only (as I hinted at the end of my reply) the ability to call updateConversionValue() with a value of my choice.

britzl commented 3 years ago

@dri-richard I've added support for adinfo.update_conversion_value() in this branch: https://github.com/defold/extension-adinfo/archive/refs/heads/dev-updateconversionvalue.zip

Note: The code builds but is untested as I currently don't have access to an iOS device