ReactVision/viro

Android Compatibility

Closed this issue · 8 comments

Hello, i am creating an app using viromedia community. The issue is that in android is only compatible with only 1000 devices.

Is there any option to maximize this number of comptaible devices?

Dependencies:
"@miblanchard/react-native-slider": "^2.1.0",
"@react-native-async-storage/async-storage": "^1.17.6",
"@react-navigation/bottom-tabs": "^6.3.1",
"@react-navigation/material-top-tabs": "^6.2.2",
"@react-navigation/native": "^6.0.10",
"@react-navigation/native-stack": "^6.6.2",
"@react-navigation/stack": "^6.2.1",
"@rneui/base": "^4.0.0-rc.4",
"@rneui/themed": "^4.0.0-rc.4",
"@viro-community/react-viro": "^2.23.0",
"react": "17.0.2",
"react-native": "0.65.1",
"react-native-camera": "^3.44.3",
"react-native-carousel-view": "^0.5.1",
"react-native-compass-heading": "^1.4.1",
"react-native-fs": "^2.20.0",
"react-native-geolocation-service": "^5.3.0",
"react-native-gesture-handler": "^2.4.2",
"react-native-gl-model-view": "^1.6.0",
"react-native-image-viewing": "^0.2.2",
"react-native-image-zoom-viewer": "^3.0.1",
"react-native-linear-gradient": "^2.5.6",
"react-native-maps": "^1.3.0",
"react-native-pager-view": "^5.4.25",
"react-native-permissions": "^3.3.1",
"react-native-safe-area-context": "^4.3.1",
"react-native-screens": "^3.13.1",
"react-native-sound-player": "^0.13.1",
"react-native-tab-view": "^3.1.1",
"react-native-tts": "^4.1.0",
"react-native-vector-icons": "^9.2.0",
"react-native-video": "^5.2.0",
"react-native-web": "^0.17.7",
"react-native-webview": "11.13.0"

In advance, thanks a lot!

Since it depends on ArCore for Android it will be compatible with these: https://developers.google.com/ar/devices

skizzo commented

Since it depends on ArCore for Android it will be compatible with these: https://developers.google.com/ar/devices

The viro docs specifically say:

Add the following line to the node, this enables ARCore:

<meta-data android:name="com.google.ar.core" android:value="optional" />

Note: If you want to restrict your app to ARCore-only devices, set the android:value to "required"

Can I assume that when setting the value to "optional", the resulting Android app will be supported on devices independently whether they support AR Core or not? Thanks for any info.

Since it depends on ArCore for Android it will be compatible with these: https://developers.google.com/ar/devices

The viro docs specifically say:

Add the following line to the node, this enables ARCore:
<meta-data android:name="com.google.ar.core" android:value="optional" />
Note: If you want to restrict your app to ARCore-only devices, set the android:value to "required"

Can I assume that when setting the value to "optional", the resulting Android app will be supported on devices independently whether they support AR Core or not? Thanks for any info.

Hi, I've configured the ar core as optional in Android and we increased a little bit the number of devices.

As long as Viro uses built in AR core, I don't see possible to make it better the compatibility. In case you need more compatibility, maybe is better to use other engine such as Unity.

Thanks for commenting.

skizzo commented

Hi @DorelisMarcelo and thanks for your quick reply.

I'm trying to get Viro running in a React Native 0.71.7 app, but it seems utterly impossible to get the configuration right (crashing on both iOS and Android on launch). May I ask which version of React Native you were using for the project you mentioned?

Thanks for some insights.

@skizzo, currently this are the dependencies working on the project and may be connected at some point with your issue:

"@react-navigation/bottom-tabs": "^6.3.1",
"@react-navigation/material-top-tabs": "^6.2.2",
"@react-navigation/native": "^6.0.10",
"@react-navigation/native-stack": "^6.6.2",
"@react-navigation/stack": "^6.2.1",
"@viro-community/react-viro": "^2.23.0",
"react": "17.0.2",
"react-native": "0.65.3",
"react-native-camera": "^3.44.3",
"react-native-permissions": "^3.3.1",
"react-native-screens": "^3.14.1"

I also would recommend you to write some kind of "handle screen" in order to show at least something to the list of devices that cannot support the AR implementation.

Greetings.

skizzo commented

Thank you once again, @DorelisMarcelo . No need for a handle screen if I can't get Viro to run in the first place.. What a shame, it doesn't seem like there's any library for Augmented Reality in RN that actually works.

@skizzo, Viro Works quite good, we have to count with the fact that React Native is a bridge to native, it comes with its limitations.

Depends the use case, in our project was enough. But its true that we where edging with the performance and implementations.

Good luck with your project!

skizzo commented

Well, it doesn't work with RN 0.71 at all, so I can't really confirm that it works quite good.. But thanks!