1

I have a managed-expo (sdk 45) application and for some reason apple rejects my application because they are unable to locate the App Tracking Transparency permission request. I know it has something to do with expo-ads-admob. I am getting this message:

Please explain where we can find the App Tracking Transparency permission request in your app. The request should appear before any data is collected that could be used to track the user. If you've implemented App Tracking Transparency but the permission request is not appearing on devices running the latest OS, please review the available documentation and confirm App Tracking Transparency has been correctly implemented.If your app does not track users, update your app privacy information in App Store Connect to undeclare tracking. You must have the Account Holder or Admin role to update app privacy information.

I'm using expo-ads-admob and this is how I did it (docs):

I installed expo-tracking-transparency and added the function on the first part of the application (App.tsx)

import * as React from "react";
import { requestTrackingPermissionsAsync } from "expo-tracking-transparency";

export default function App() {
  React.useEffect(() => {
    (async () => {
      const { status } = await requestTrackingPermissionsAsync();
      if (status === "granted") {
        console.log("Yay! I have user permission to track data");
      }
    })();
  }, []);

  return (
      <MainApplication />
  );
}

I also added

"plugins": [
      [
        "expo-tracking-transparency",
        {
          "userTrackingPermission": "This identifier will be used to deliver personalized ads to you."
        }
      ]
]

To app.json

Then I use the component (everywhere in the app) like this:

<AdMobBanner
  bannerSize={
    Platform.OS === "ios" ? "fullBanner" : "smartBannerLandscape"
  }
  adUnitID={
    Platform.OS == "ios"
      ? "IOS_ADMOB_CODE"
      : "ANDROID_ADMOB_CODE"
  }
  servePersonalizedAds={false}
  onDidFailToReceiveAdWithError={() => {}}
  onAdViewDidReceiveAd={() => {}}
/>

It works, but iOS keep rejecting my application claiming they can't find the permission. I looked everywhere and saw this is the right way to implement this but unfortunately it didn't work.

Thanks in advance!

Or Nakash
  • 1,345
  • 1
  • 9
  • 22
  • 1
    Don't you have to add that request also to the info.plist file for iOS? There is a specific key you must add and the value is usually the description, that the end user will see on the prompt. See this link for example when requesting camera permission: https://stackoverflow.com/questions/39631256/request-permission-for-camera-and-library-in-ios-10-info-plist – Aleksandar Zoric Jun 09 '22 at 13:41
  • 1
    I found a similar question to yours, see here: https://stackoverflow.com/questions/63587364/how-to-add-the-apptrackingtransparency-permission-to-your-ios-apps – Aleksandar Zoric Jun 09 '22 at 13:43
  • I forgot to mention guys. I am using the Managed expo (it's something else). Just edited the question to say that. In the managed workflow, we do not have these files (it should be added automatically as mentioned in docs) – Or Nakash Jun 09 '22 at 13:59

1 Answers1

0

if you dont have infoplist go to and add the Description here. enter image description here

AJ Style
  • 1
  • 1
  • As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Jul 20 '22 at 13:44
  • Please don't post code as images. Code should be pasted as text, and formatted using Markdown. (The toolbar in the Stack Overflow editor can help you with this.) Code within images is harder to read, less accessible, can't be copied, and doesn't show up in relevant searches. Please [edit] your post to include the code as text; this will help you get better responses, and help prevent your answer from getting deleted. – Jeremy Caney Jul 22 '22 at 01:08