Ad Network, Analytics, and iOS 14.

Apple just delayed the enforcement: https://techcrunch.com/2020/09/03/apple-delay-ios-14-privacy-ad-tracking/

Given that, we will likely try to delay our implementation of App Transparency Framework so that we don’t bother our users with permissions. At least until things shakes out a bit more and we have a better sense of how the general industry is going to adjust.

2 Likes

Great news! Thank you!

That’s amazing news. Finally Apple comes to their senses. :slight_smile:

1 Like

Has this list SKAdNetworkItems to be added to the build.settings ???

UPDATE: I tried to add it but then get an error and the game is not starting anymore.

I don’t know what network you are using or if it is supported by what you are using. I have an updated list for the adapters for Ironsource that I use. This is in production for my apps and working.

SKAdNetworkItems =
{
{ SKAdNetworkIdentifier = “SU67R6K2V3.skadnetwork” }, – Ironsource
{ SKAdNetworkIdentifier = “4DZT52R2T5.skadnetwork” }, – Unity
{ SKAdNetworkIdentifier = “bvpn9ufa9b.skadnetwork” },
{ SKAdNetworkIdentifier = “488r3q3dtq.skadnetwork” },
{ SKAdNetworkIdentifier = “424M5254LK.skadnetwork” },
{ SKAdNetworkIdentifier = “v79kvwwj4g.skadnetwork” },
{ SKAdNetworkIdentifier = “22mmun2rn5.skadnetwork” },
{ SKAdNetworkIdentifier = “KBD757YWX3.skadnetwork” },
{ SKAdNetworkIdentifier = “zmvfpc5aq8.skadnetwork” },
{ SKAdNetworkIdentifier = “WZMMZ9FP6W.skadnetwork” },
{ SKAdNetworkIdentifier = “ydx93a7ass.skadnetwork” },
{ SKAdNetworkIdentifier = “wg4vff78zm.skadnetwork” },
{ SKAdNetworkIdentifier = “44jx6755aq.skadnetwork” },
{ SKAdNetworkIdentifier = “F38H382JLK.skadnetwork” },
{ SKAdNetworkIdentifier = “3sh42y64q3.skadnetwork” },
{ SKAdNetworkIdentifier = “M8DBW4SV7C.skadnetwork” },
{ SKAdNetworkIdentifier = “5lm9lj6jb7.skadnetwork” },
{ SKAdNetworkIdentifier = “lr83yxwka7.skadnetwork” },
{ SKAdNetworkIdentifier = “238da6jt44.skadnetwork” },
{ SKAdNetworkIdentifier = “GLQZH8VGBY.skadnetwork” },
{ SKAdNetworkIdentifier = “av6w8kgt66.skadnetwork” },
{ SKAdNetworkIdentifier = “f73kdq92p3.skadnetwork” },
{ SKAdNetworkIdentifier = “cstr6suwn9.skadnetwork” }, – Admob
{ SKAdNetworkIdentifier = “4PFYVQ9L8R.skadnetwork” }, – Start of AdColony.
{ SKAdNetworkIdentifier = “YCLNXRL5PM.skadnetwork” },
{ SKAdNetworkIdentifier = “V72QYCH5UU.skadnetwork” },
{ SKAdNetworkIdentifier = “TL55SBB4FM.skadnetwork” },
{ SKAdNetworkIdentifier = “T38B2KH725.skadnetwork” },
{ SKAdNetworkIdentifier = “PRCB7NJMU6.skadnetwork” },
{ SKAdNetworkIdentifier = “PPXM28T8AP.skadnetwork” },
{ SKAdNetworkIdentifier = “MLMMFZH3R3.skadnetwork” },
{ SKAdNetworkIdentifier = “KLF5C3L5U5.skadnetwork” },
{ SKAdNetworkIdentifier = “HS6BDUKANM.skadnetwork” },
{ SKAdNetworkIdentifier = “C6K4G5QG8M.skadnetwork” },
{ SKAdNetworkIdentifier = “9T245VHMPL.skadnetwork” },
{ SKAdNetworkIdentifier = “9RD848Q2BZ.skadnetwork” },
{ SKAdNetworkIdentifier = “8S468MFL3Y.skadnetwork” },
{ SKAdNetworkIdentifier = “7UG5ZH24HU.skadnetwork” },
{ SKAdNetworkIdentifier = “4FZDC2EVR5.skadnetwork” },
{ SKAdNetworkIdentifier = “4468KM3ULZ.skadnetwork” },
{ SKAdNetworkIdentifier = “3RD42EKR43.skadnetwork” },
{ SKAdNetworkIdentifier = “2U9PT9HC89.skadnetwork” },
{ SKAdNetworkIdentifier = “ludvb6z3bs.skadnetwork” }, – Applovin
{ SKAdNetworkIdentifier = “737z793b9f.skadnetwork” }, – Chartboost
{ SKAdNetworkIdentifier = “CJ5566H2GA.skadnetwork” },
{ SKAdNetworkIdentifier = “W9Q455WK68.skadnetwork” },
},

Stupid question maybe, but what is the SKAdNetworkItems needed for…? I’m using Appodeal with a few plugins and that seems to be working without a network list

Currently: For the phone user that turns off IDFA and if the network pays by CPI (cost per install) then you will lose that revenue.

Once Apple flips the switch in 2021: Everybody will have IDFA turned off unless the phone user opts-in.

So in summary currently very little since most people do not turn off IDFA. But since I started down this path before Apple delayed the implementation, there is no harm for me to keep it up to date for my apps.

Ok, thanks for the explanation!

Are you saying that by adding the networks to the list, the CPI-based revenue will not be lost even for players that have disabled IDFA?

Yes, that is correct although some networks might have a way to link them. Somebody clicks on an ad and that device has a bunch of 0000-000 as IDFA. When that person opens up that app the installed app will send 0000-000 as IDFA to the ad network but since they get 100s of 0000-00 they won’t be able to attribute the original click to your ad.

Apple for a supported network will track that click and report back to the ad network that a person on the app clicked on an ad and then downloaded the app even if the IDFA is a bunch of 0000-00. This has been in place before iOS14.

I left a bunch of things out for simplicity’s sake.

  1. You might have Tenjin or AppFlyer in the mix.
  2. Some ad networks are CPA (cost per action). In which case your app should send the code to Apple as required by the ad network to let them know what action was performed. In those cases, Apple will send that info back to the ad network. Originally that again was tracked by using IDFA.
  3. This not only impacts ad revenue but also the cost of acquisition. Every network I have tried (Unity, Applovin, Chartboost, Tapjoy) will de-prioritize you if your creatives do not meet certain install rate. If most of your users turn off IDFA many of these networks will stop serving ads or serve a very limited number of ads at a higher cost.

Again the current impact should be minor since Apple has not turned the switch and won’t until some time in 2021.

Wow, thanks again for sharing your knowledge! :slight_smile:

1 Like

Whatever little knowledge I have, I will share and you are always welcomed.

2 Likes

I am using admob and unity ads and when trying to add this code of yours to my build settings I get a runtime error at start. :frowning:

Where are you adding it? I can’t image how this would break a build. At most it will be just sitting there and doing nothing if your adapters don’t support it.

I added it into the plist area.

Sorry, I don’t know what to say. Adding items to the plist should not cause a crash unless you are missing a comma or a closing bracket.

For me it’s also the same. I’ll try to add it for Appodeal. I also got a runtime error at the start.
This is how i add it to the plist section of my build.settings like any other values.

SKAdNetworkItems =
{
{ SKAdNetworkIdentifier = “4PFYVQ9L8R.skadnetwork” },
{ SKAdNetworkIdentifier = “YCLNXRL5PM.skadnetwork” },
{ SKAdNetworkIdentifier = “V72QYCH5UU.skadnetwork” },
{ SKAdNetworkIdentifier = “TL55SBB4FM.skadnetwork” },
{ SKAdNetworkIdentifier = “T38B2KH725.skadnetwork” },
{ SKAdNetworkIdentifier = “PRCB7NJMU6.skadnetwork” },
{ SKAdNetworkIdentifier = “PPXM28T8AP.skadnetwork” },
{ SKAdNetworkIdentifier = “MLMMFZH3R3.skadnetwork” },
{ SKAdNetworkIdentifier = “KLF5C3L5U5.skadnetwork” },
{ SKAdNetworkIdentifier = “HS6BDUKANM.skadnetwork” },
{ SKAdNetworkIdentifier = “C6K4G5QG8M.skadnetwork” },
{ SKAdNetworkIdentifier = “9T245VHMPL.skadnetwork” },
{ SKAdNetworkIdentifier = “9RD848Q2BZ.skadnetwork” },
{ SKAdNetworkIdentifier = “8S468MFL3Y.skadnetwork” },
{ SKAdNetworkIdentifier = “7UG5ZH24HU.skadnetwork” },
{ SKAdNetworkIdentifier = “4FZDC2EVR5.skadnetwork” },
{ SKAdNetworkIdentifier = “4468KM3ULZ.skadnetwork” },
{ SKAdNetworkIdentifier = “3RD42EKR43.skadnetwork” },
{ SKAdNetworkIdentifier = “2U9PT9HC89.skadnetwork” },
{ SKAdNetworkIdentifier = “LUDVB6Z3BS.skadnetwork” },
{ SKAdNetworkIdentifier = “CSTR6SUWN9.skadnetwork” },
{ SKAdNetworkIdentifier = “SU67R6K2V3.skadnetwork” },
},

Did you found a solution for the problem?

I did not try again because this drove me crazy. I am focusing on other stuff right now.
I will get back to this problem in a about two weeks.

Just a guess but those look like curly’s instead of straight quotes. But it might be how this forum changes.

1 Like

Thanks a lot, that’s the solution! I have to use " instead of “ quotes. Just copied it out of your example above and made my changes and it copied the curly quotes. If i now copy my improved and working code to the forum as a Blockquote, it changes again to the curly quotes.

Here is the updated list for Appodeal if someone needs it. Just replace the curly quotes with straight ones.

SKAdNetworkItems =
{
{ SKAdNetworkIdentifier = “4pfyvq9l8r.skadnetwork” },
{ SKAdNetworkIdentifier = “yclnxrl5pm.skadnetwork” },
{ SKAdNetworkIdentifier = “v72qych5uu.skadnetwork” },
{ SKAdNetworkIdentifier = “tl55sbb4fm.skadnetwork” },
{ SKAdNetworkIdentifier = “t38b2kh725.skadnetwork” },
{ SKAdNetworkIdentifier = “prcb7njmu6.skadnetwork” },
{ SKAdNetworkIdentifier = “ppxm28t8ap.skadnetwork” },
{ SKAdNetworkIdentifier = “mlmmfzh3r3.skadnetwork” },
{ SKAdNetworkIdentifier = “klf5c3l5u5.skadnetwork” },
{ SKAdNetworkIdentifier = “hs6bdukanm.skadnetwork” },
{ SKAdNetworkIdentifier = “c6k4g5qg8m.skadnetwork” },
{ SKAdNetworkIdentifier = “9t245vhmpl.skadnetwork” },
{ SKAdNetworkIdentifier = “9rd848q2bz.skadnetwork” },
{ SKAdNetworkIdentifier = “8s468mfl3y.skadnetwork” },
{ SKAdNetworkIdentifier = “7ug5zh24hu.skadnetwork” },
{ SKAdNetworkIdentifier = “4fzdc2evr5.skadnetwork” },
{ SKAdNetworkIdentifier = “4468km3ulz.skadnetwork” },
{ SKAdNetworkIdentifier = “3rd42ekr43.skadnetwork” },
{ SKAdNetworkIdentifier = “2u9pt9hc89.skadnetwork” },
{ SKAdNetworkIdentifier = “m8dbw4sv7c.skadnetwork” },
{ SKAdNetworkIdentifier = “7rz58n8ntl.skadnetwork” },
{ SKAdNetworkIdentifier = “ejvt5qm6ak.skadnetwork” },
{ SKAdNetworkIdentifier = “5lm9lj6jb7.skadnetwork” },
{ SKAdNetworkIdentifier = “44jx6755aq.skadnetwork” },
{ SKAdNetworkIdentifier = “mtkv5xtk9e.skadnetwork” },
{ SKAdNetworkIdentifier = “ludvb6z3bs.skadnetwork” },
{ SKAdNetworkIdentifier = “wg4vff78zm.skadnetwork” },
{ SKAdNetworkIdentifier = “737z793b9f.skadnetwork” },
{ SKAdNetworkIdentifier = “ydx93a7ass.skadnetwork” },
{ SKAdNetworkIdentifier = “w9q455wk68.skadnetwork” },
{ SKAdNetworkIdentifier = “glqzh8vgby.skadnetwork” },
{ SKAdNetworkIdentifier = “av6w8kgt66.skadnetwork” },
{ SKAdNetworkIdentifier = “cj5566h2ga.skadnetwork” },
{ SKAdNetworkIdentifier = “f38h382jlk.skadnetwork” },
{ SKAdNetworkIdentifier = “s39g8k73mm.skadnetwork” },
{ SKAdNetworkIdentifier = “v9wttpbfk9.skadnetwork” },
{ SKAdNetworkIdentifier = “n38lu8286q.skadnetwork” },
{ SKAdNetworkIdentifier = “cstr6suwn9.skadnetwork” },
{ SKAdNetworkIdentifier = “su67r6k2v3.skadnetwork” },
{ SKAdNetworkIdentifier = “kbd757ywx3.skadnetwork” },
{ SKAdNetworkIdentifier = “n9x2a789qt.skadnetwork” },
{ SKAdNetworkIdentifier = “uw77j35x4d.skadnetwork” },
{ SKAdNetworkIdentifier = “3sh42y64q3.skadnetwork” },
{ SKAdNetworkIdentifier = “5l3tpt7t6e.skadnetwork” },
{ SKAdNetworkIdentifier = “mls7yz5dvl.skadnetwork” },
{ SKAdNetworkIdentifier = “5a6flpkh64.skadnetwork” },
{ SKAdNetworkIdentifier = “578prtvx9j.skadnetwork” },
{ SKAdNetworkIdentifier = “f73kdq92p3.skadnetwork” },
{ SKAdNetworkIdentifier = “8m87ys6875.skadnetwork” },
{ SKAdNetworkIdentifier = “488r3q3dtq.skadnetwork” },
{ SKAdNetworkIdentifier = “zmvfpc5aq8.skadnetwork” },
{ SKAdNetworkIdentifier = “97r2b46745.skadnetwork” },
{ SKAdNetworkIdentifier = “6xzpu9s2p8.skadnetwork” },
{ SKAdNetworkIdentifier = “cg4yq2srnc.skadnetwork” },
{ SKAdNetworkIdentifier = “ecpz2srf59.skadnetwork” },
{ SKAdNetworkIdentifier = “4dzt52r2t5.skadnetwork” },
{ SKAdNetworkIdentifier = “22mmun2rn5.skadnetwork” },
{ SKAdNetworkIdentifier = “wzmmz9fp6w.skadnetwork” },
{ SKAdNetworkIdentifier = “lr83yxwka7.skadnetwork” },
{ SKAdNetworkIdentifier = “238da6jt44.skadnetwork” },
{ SKAdNetworkIdentifier = “bvpn9ufa9b.skadnetwork” },
{ SKAdNetworkIdentifier = “v79kvwwj4g.skadnetwork” },
{ SKAdNetworkIdentifier = “424m5254lk.skadnetwork” },
{ SKAdNetworkIdentifier = “44n7hlldy6.skadnetwork” },
{ SKAdNetworkIdentifier = “gta9lk7p23.skadnetwork” },
},

1 Like