Play Store issue about Family Ads Program

  1. SDK Version: 33.0.0
  2. Platform: Android

Hi,

I recently received a message from Google Play support. The Play Store will remove my expo based app because of non-certified ad SDK:

Here is my package.json dependencies:

{
    "@react-native-community/netinfo": "2.0.10",
    "async": "^3.1.0",
    "axios": "^0.19.0",
    "expo": "^33.0.0",
    "expo-asset": "^5.0.1",
    "expo-font": "~5.0.1",
    "react": "16.8.3",
    "react-dom": "^16.8.6",
    "react-native": "https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz",
    "react-native-check-box": "^2.1.7",
    "react-native-device-detection": "^0.2.0",
    "react-native-web": "^0.11.4",
    "react-navigation": "^3.11.0",
    "react-redux": "^7.1.0",
    "redux": "^4.0.1",
    "redux-persist": "^5.10.0"
  }

Our app is pretty simple, we play some external mp4 videos (from direct url) and have some google analytics events.

Can you help me on that ?

Thanks !

1 Like

Hey @mcanzerini,

Did Google give you any more information as to what SDK is at fault here? If not, it’d be helpful to ask them for more specifics.

Another thought is this may be something that has been addressed between SDK33 and the newer SDK versions. Is something holding you back from upgrading to a newer SDK?

Cheers,
Adam

Thanks for you quick reply.

Unfortunately, Google gave us no more information about this unknown bad SDK. You’re right, we will ask them more details about this issue.

I’m agree, the best thing would be to upgrade to a brand new SDK version of expo. But our app has been published since July 2019 and it is very stable. No need to invest more time except for this issue. If the problem still persist, we will have to do so … but time is money :slight_smile:

Cheers
Mat

The problem I am having with family program to the play store is that google want me to remove the location request if my target audience is lest than 13 years old. Is there a way to solve this problem, my app has been rejected for the second time .I am using sdk 38

We’ll be enabling the removal of that permission with SDK39 @cloudmonde . As for @mcanzerini, I believe this has to do with the Facebook SDK which we changed to not auto init in a more recent SDK version. I believe 36 so upgrading that should resolve the issue.

Cheers,
Adam

Hi Adam,

Thank you very much for your help. Indeed, Google gave us more information and it appears that it’s the Facebook SDK that is the cause the issue.

We will upgrade as soon as possible to a new version of SDK (38 or 39 may be)

Thx again.
MC

Awesome. Let me know if you run into any issues during the upgrade process.

We’re experiencing the same issue with SDK 37. Did upgrading to 38 fix this for you @mcanzerini?

My Kids app on the Google playstore is Expo v38, and Google gave me the same ‘warning’ that my app will no longer function if I don’t make the ads family-friendly. I don’t even do any ads, and there’s nothing in my package.json to specify any ads. So moving to Expo v38 does not fix this issue with Google.

Any update on this?
Whatever I do, I don’t seem to remove the location permission, using SDK38 or 39

Thanks

Simon

1 Like

I have an app with the same issue: its designed for families and using the Expo Managed Workflow means that it includes the Facebook Ads SDK by default. We don’t serve any ads or anything in the app, but Google has rejected my latest binaries because I haven’t removed the SDK. Any updates on what we can do about this to still remain in the “designed for families” label?

3 Likes

I have the same issue, the app was rejected after review. We are not serving any ads or using anything that could be considered not child friendly but due to Facebook SDK in the binaries, we can’t get the new app version to the play store.
Expo SDK 38 is the version in question,
SDK 37 was uploaded at one point, be Google sent a warning about app removal.

Any suggestions would be greatly appreciated.

1 Like

I am facing the problem of Google Play Store rejecting my kids-directed app due to some use of an Ad SDK, even though I don’t serve any ads.

I am using Expo 39 already.

The issue:

Issue: Violation of Families Policy Requirements

We have detected that your app includes non-certified ad SDKs or SDKs that are not approved for use in child-directed services. Any SDKs used in the app must be appropriate for use in child-directed services. Additionally, apps that solely target children must not contain any SDKs that are not approved for use in child-directed services, including ads SDKs. Apps in the Designed for Families program must only use ad SDKs that have certified their compliance with the Families Ads Program.

Google does not inform me which SDK is the cause of the issue.

Was anyone able to solve this? Any update @adamjnav? Updating to 39 did not solve the issue.

thanks!

Edit: I already tried using "android": { "enableDangerousExperimentalLeanBuilds": true } on my app.json file (which supposedly removed any unused SDKs) and it did not work, still rejected.

1 Like

@sbectol I solved the “location permission” issue by updating to Expo 39 and adding "android": { "permissions": [ ] } to the app.json file.

Hi,

I am facing the same issue and Google Play Store rejects my kids-directed app due to some use of an Ad SDK(Facebook SDK), even though I don’t serve any ads at all.

I am using Expo 39.

Could a possible solution be to add:

“facebookAutoInitEnabled”: false
in the app.json?

Seems like the Fasebook SDK still is initialized in someway?

I am not getting any further information from Google.

@adamjnav do you have any comment on this issue?

Thanks.

Richard

3 Likes

ExponSDK 39 here and same issue. App being rejected because of Facebook SDK. And Google is not providing any further info. How can I fix it?

Hey, same error here. Expo SDK 39 and Google Play Store complains that bundle uses Facebook ad SDK. Looking for the way to resolve issue without ejecting!

I did support ticket, here’s reply from Play Store:

Fix the policy violation with your app

We have detected that your app includes non-certified ad SDKs and/or SDKs that are not approved for use in child-directed services. Any SDKs used in the app must be appropriate for use in child-directed services. Additionally, apps that solely target children must not contain any SDKs that are not approved for use in child-directed services, including ads SDKs. Apps in the Designed for Families program must only use ad SDKs that have certified their compliance with the Families Ads Program.

We have detected the use of Facebook ad SDK , which is not allowed in apps that are in the Families program. An ad SDK is not allowed if it has not self-certified its compliance with Play’s Families Ads Program (certified ad SDKs), or it is non-COPPA compliant per its own public documentation. Please note, the status of SDKs often changes and it is your responsibility to review documentation of all SDKs used in your app to ensure compliance with Families policies.

Please update your app to fix this issue.

Ok, I believe the Expo team just won’t give an answer on this. I just ejected my project and I have it open on Android Studio, ready to remove Facebook Ad SDK. The only thing is that… I don’t know where it is!

Anybody could help me telling what should I remove from my project in order to remove Facebook Ad SDK?

No module or dependency is clearly labeled “facebook-ads”. There is a bunch of expo-* modules and a bunch of unimodules-* modules. And there are a lot of facebook-originated dependencies, none clearly labeled as ads.

Here is the complete list of dependencies by Facebook:

And here are all the modules in my ejected project:

What I gave to get rid of in order to not have Facebook Ad SDK code in my app anymore??

thanks!

1 Like

when you eject your project only includes the libraries that you’re using, and so you don’t have the facebook ads sdk anymore if it wasn’t installed in package.json. more info at https://expo.fyi/managed-app-size

also note that you could use android.enableDangerousExperimentalLeanBuilds in app.json to have a similar effect in managed workflow

Hi @notbrent thanks for the reply, but I believe you are wrong.

I have used android.enableDangerousExperimentalLeanBuilds before, tried to submit to Play Store and it was still rejected with the reason that I was using Facebook Ads SDK (which is not in my package.json).

I even opened an issue mentioning this as another thread (How to remove non-certified ads SDK to fix Play Store issue with Family Ads Program).

Here is my package.json dependencies list. Is there anything in there that could have Facebook Ads SDK as a subdependency?

"dependencies": {
    "expo": "^39.0.0",
    "expo-splash-screen": "~0.6.2",
    "expo-status-bar": "~1.0.2",
    "expo-updates": "~0.3.2",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "~0.63.3",
    "react-native-gesture-handler": "~1.7.0",
    "react-native-reanimated": "~1.13.0",
    "react-native-screens": "~2.10.1",
    "react-native-unimodules": "~0.11.0",
    "react-native-web": "~0.13.7",
    "@expo/samples": "~3.0.0",
    "@expo/vector-icons": "^10.0.0",
    "@react-navigation/web": "^1.0.0-alpha.9",
    "expo-asset": "~8.2.0",
    "expo-av": "~8.6.0",
    "expo-constants": "~9.2.0",
    "expo-font": "~8.3.0",
    "expo-linear-gradient": "~8.3.0",
    "expo-web-browser": "~8.5.0",
    "react-navigation": "^3.11.0"
  },
  "devDependencies": {
    "@babel/core": "~7.9.0",
    "babel-jest": "~25.2.6",
    "jest": "~25.2.6",
    "react-test-renderer": "~16.13.1",
    "babel-eslint": "^10.1.0",
    "babel-preset-expo": "^8.3.0",
    "eslint": "^6.8.0",
    "eslint-plugin-react": "^7.19.0",
    "jest-expo": "^39.0.0"
  },