app version includes SDK com.segment.analytics.android:analytics, 4.9.4 or an SDK that one of your libraries depends on, which collects personal or sensitive data that includes but may not be limited to Advertising ID, Android ID identifiers.

there are bunch of em

{
		"@react-native-async-storage/async-storage": "~1.15.0",
		"@react-native-community/datetimepicker": "3.5.2",
		"@react-native-community/masked-view": "0.1.10",
		"@react-native-community/netinfo": "6.0.2",
		"@react-native-community/picker": "1.6.0",
		"@react-native-community/slider": "4.1.7",
		"@react-native-firebase/app": "^14.5.0",
		"@react-native-firebase/crashlytics": "^14.5.0",
		"@react-navigation/bottom-tabs": "^5.11.2",
		"@react-navigation/material-bottom-tabs": "^5.2.17",
		"@react-navigation/material-top-tabs": "^5.2.17",
		"@react-navigation/native": "^5.7.3",
		"@react-navigation/stack": "^5.9.0",
		"axios": "^0.20.0",
		"babel-plugin-module-resolver": "^4.0.0",
		"crypto-js": "^4.1.1",
		"easy-peasy": "^3.3.1",
		"expo": "43",
		"expo-av": "~10.1.3",
		"expo-camera": "~12.0.3",
		"expo-cli": "^4.3.0",
		"expo-crypto": "~10.0.3",
		"expo-device": "~4.0.3",
		"expo-face-detector": "~11.0.3",
		"expo-firebase-analytics": "~5.0.3",
		"expo-font": "~10.0.3",
		"expo-image-manipulator": "~10.1.2",
		"expo-image-picker": "~11.0.3",
		"expo-intent-launcher": "~10.0.3",
		"expo-linking": "~2.4.2",
		"expo-location": "~13.0.4",
		"expo-media-library": "~13.0.3",
		"expo-notifications": "~0.13.3",
		"expo-permissions": "~13.0.3",
		"expo-splash-screen": "~0.13.5",
		"expo-status-bar": "~1.1.0",
		"expo-svg-uri": "^1.3.1",
		"expo-updates": "~0.10.15",
		"expo-web-browser": "~10.0.3",
		"lottie-react-native": "4.0.3",
		"mobx": "^5.15.6",
		"mobx-react": "^6.3.0",
		"moment": "^2.29.0",
		"react": "17.0.1",
		"react-dom": "17.0.1",
		"react-native": "https://github.com/expo/react-native/archive/sdk-43.tar.gz",
		"react-native-animatable": "^1.3.3",
		"react-native-autoheight-webview": "^1.5.4",
		"react-native-calendars": "^1.403.0",
		"react-native-copilot": "^2.5.1",
		"react-native-counter": "^0.2.0",
		"react-native-crypto-js": "^1.0.0",
		"react-native-currency-input": "^1.0.1",
		"react-native-dialog": "^5.6.0",
		"react-native-elements": "^2.3.2",
		"react-native-expo-cached-image": "^1.2.1",
		"react-native-extra-dimensions-android": "^1.2.5",
		"react-native-gesture-handler": "~1.10.2",
		"react-native-get-random-values": "^1.7.2",
		"react-native-image-viewing": "^0.2.0",
		"react-native-maps": "0.28.1",
		"react-native-modal": "^11.5.6",
		"react-native-paper": "^4.7.2",
		"react-native-reanimated": "~2.2.0",
		"react-native-safe-area-context": "3.3.2",
		"react-native-screens": "~3.8.0",
		"react-native-svg": "12.1.1",
		"react-native-swiper": "^1.6.0",
		"react-native-tab-view": "^2.15.1",
		"react-native-view-shot": "3.1.2",
		"react-native-walkthrough-tooltip": "^1.1.11",
		"react-native-web": "0.17.1",
		"react-native-webview": "11.13.0",
		"react-navigation-tabs": "^2.9.0",
		"rn-pdf-reader-js": "^4.1.1",
		"unstated": "^2.1.1",
		"unstated-next": "^1.1.0",
		"use-count-up": "^2.3.0",
		"uuid": "^8.3.2"
	}

are u sure there are no other way, preferably without EAS? i also have this message

Starting from August 9, 2022 midnight (UTC), new app releases containing the SDK version(s) that do not comply with the User Data policy may be blocked from release. You may consider moving to another SDK; removing this SDK; or if available from your SDK provider, upgrading to a policy-compliant version of this SDK that does not include the violating code.
According to the information provided by your SDK provider, you may consider upgrading to 4.10.1. Please consult the SDK provider for further information.
ACTION REQUIRED: Upload a new compliant version AND deactivate the noncompliant version.

does expo has segment version upgraded to 4.10.1 in SDK 45?

I believe the installationId is just a randomly generated UUID that is stored on the device for later use:

So I am pretty sure this is not something that Google cares about.

OK, if I have time later I will see if I can reproduce the build issue.

As I said here, the Expo team is apparently planning to have a look at this during the week. So if you really don’t want to switch to EAS Build (you will need to do it eventually) and you can wait a few days, maybe do that.

I don’t know what exactly they’re planning to do about it, but maybe upgrading to Segment 4.10.1 is one of the options they’re considering.

oke i think i will wait for the update. btw if there is an update where can i find out about it? like is theres an article or some sort?

thanks for your answers. i really appreciate it

If I hear about any changes they’ve made I’ll let you know. Not sure what they’re planning to say about it or where.

1 Like

I am seeing this, even with eas:build.

Also with regards to some earlier conversation in this thread, there is Application.androidId which is different than the Constants.deviceId.

I need help as I’m quite stuck, my manager doesn’t want to remove Segment but we need a new app store release.

If anyone at Expo needs it, here is the build which produced this rejection. I would like clarification if it is app.json settings, the actual application code, or something else which is causing this

Thanks

image

oh i see, in that case. i think the best solution for now is to wait the expo team to solve this maybe the best option for them is to upgrade the segment library to 4.10.1^ in their SDK.

Thanks, that’ll be awesome.

here’s a related issue: Android app rejected because of Segment version · Issue #17845 · expo/expo · GitHub

On Monday, June 13, we deployed expo-analytics-segment version 11.2.1 to resolve the issue for SDK 45 bare apps and apps using EAS Build. We also updated classic builds for SDK 45 to include this fix. Please run expo install expo-analytics-segment in your project to install this new version. After updating the version, bump your app version, rebuild, and resubmit.

We will deploy fixes to older SDK versions once affected users have confirmed that the issue has been resolved for them. Please confirm in this thread that the above instructions unblock your submission on SDK 45 apps with expo-analytics-segment.

1 Like

Cd mobile-app

Expo update to 45.0.0

Then

expo install expo-analytics-segment

Then go to App.js

Add these lines

import * as Segment from ‘expo-analytics-segment’;

Segment.setEnabledAsync(true);

After that you need to patch-package react native

For that

Cd…

Yarn patch-package react native

Then finally

You need to add
Yarn add react-native-safe-area-context -W

And then

Yarn app:build-android

Solve 100%

also having this issue and not quite ready to migrate to EAS yet and wondering what a good solution would be for expo build

@apps.eugene, as per notbrent’s comment above they’re working on it. If you’re on SDK 45, follow the instructions in the issue and leave a comment there about whether or not it fixes the issue. If you’re using an older SDK version, wait for an update.

Hi @vrides. Please elaborate on this? What patch are you applying to react-native?

Yes I am on SDK 40 still and in the managed workflow. This means only a new update (SDK 46) will work for me? And I’d have to upgrade to that latest SDK?

No. As far as I know, SDK 43 and up should work for you. If you do not use Segment in your app and you use EAS Build to build it, then I believe SDK 41 or SDK 42 (or higher) should also work for you.

sdk 43+ is supported for classic builds (expo build:android). full description of the issue and solutions in Android app rejected because of Segment version · Issue #17845 · expo/expo · GitHub

I’m facing the same problem, my app uses the sdk in version 44 and I wanted to solve this problem as soon as possible.

Hi @samuellima99

Did you run expo install expo-analytics-segment and then rebuild as explained in the issue that notbrent linked to?

What I did to solve for me was, delete node modules, delete package-lock.json and fresh expo install, after that I built normally and it worked and yes I was also using SDK 44.

1 Like

I am on expo managed workflow, sdk 44 using eas. I get the same error. I was not using expo-analytics-segment in my code but still got the error. I recently added expo-notifications to get the deviceId, and also use expo-firebase-analytics so perhaps one of those is the cause of the error. But I followed the instructions and did expo install expo-analytics-segment, bumped my version, and did another build. Still same error. Then I deleted my node modules and yarn.lock and did a fresh install, bumped and rebuilt again. Same error. I now have "expo-analytics-segment": "~11.1.2"
Any ideas?