Building on jcarlson33's question, we've done research into how Apple handles case sensitivity and it appears that Apple does validate case sensitivity for SKAdNetwork IDs, in some cases.
Hypothesis 1: Case sensitivity is required between the SKAdNetwork ID the developer adds to her/his info.plist, the SKAdNetwork ID used when compiling the SKAdNetwork signature, and SKAdNetwork ID used when SDK calls loadProduct(withParameters:completionBlock:) with SKStoreProductParameterAdNetworkIdentifier.
We ran the following experiments to prove such case: 9G2AGGBJ52 network ID in info.plist, 9g2aggbj52 as SKStoreProductParameterAdNetworkIdentifier for StoreKit controller, and for signature generation;
9g2aggbj52 network ID in info.plist, 9G2AGGBJ52 as SKStoreProductParameterAdNetworkIdentifier for StoreKit controller, and for signature generation
Conclusion 1: In both cases, the postbacks were not returned by Apple, and we assume Apple has case-sensitive validation. We believe it’s important to use the same value in the info.plist, SKStoreProductParameterAdNetworkIdentifier, and SKAdNetwork signature
Hypothesis 2: Apple does not validate case sensitivity between assigned SKAdNetwork ID and SKAdNetwork ID used in practice, so long as the case sensitivity is consistent across info.plist, SKStoreProductParameterAdNetworkIdentifier when loadProduct(withParameters:completionBlock:) is called, and SKAdNetwork signature.
We ran the following experiments to prove such case: Our assigned SKadnetwork ID is 9G2AGGBJ52.skadnetwork
We ran an experiment and used an all lowercase SKAdNetwork ID, 9g2aggbj52.skadnetwork, in the Info.plist, in SKStoreProductParameterAdNetworkIdentifier for the StoreKit controller, and for signature generation. Apple successfully returned a postback, although SKAdNetwork ID was all lowercase, but the assigned SKAdNetwork ID was all uppercase.
Conclusion 2: You may change the letter capitalization of your assigned SKAdNetwork ID from all lowercase to all uppercase, and vice-versa, so long as the cases used are consistent between info.plist, SKAdnetwork signature and SKStoreProductParameterAdNetworkIdentifier. Theoretically, the ad tech industry could always string SKAdNetwork IDs to lowercase to avoid human errors and provide consistency for developers
Request to Apple: Could you please clarify the case sensitivity requirements in your documentation? Thank you.