Catch the case that google play/AR core not installed on a WebXR support device

Hi @RaananW,
Is that possible to check if the AR service is installed in a WebXR support device? I am trying to initialize the WebXR camera(or regular camera) based on the XR availability. However, I am running into this issue when trying to run my project on an S20 without AR service installed. It passed all the checks like navigator.xr or navigator.xr.isSessionSupported('immersive-ar') and even successfully initialized the XR session. I wonder if it’s possible to check if the AR service is available at the beginning.

Sadly not. There is no way for you to check the existing of software in the client device to prevent fingerprinting.

I find it very odd that ar sessions are available and that you can even enter the session! That goes against the specs definitions IMO. And is a form of a browser bug. The is session available request should return false.

That is terrible :sob: Darn you browsers. @xtxz maybe there is some way we can detect if it really launches…

You can detect if the session didn’t start correctly, but I would expect it wouldn’t allow to enter the session. This is totally wrong…

1 Like

Oh yeah I had sometimes entered the session too which is super confusing :sweat_smile: . I am wondering if there is a way to throw some error when initializing the WebXRExperienceHelper, or trying to enter the session. For now, it’s all launching fine even though I don’t have the AR installed and only throws errors after a pop-up hint for me to install AR and I don’t click it for 10 around 10 secs.

we have no control over this. if the browser throws an error so can we. If it doesn’t, we assume everything is peachy