google / model-viewer

Easily display interactive 3D models on the web and in AR!
https://modelviewer.dev
Apache License 2.0
6.95k stars 819 forks source link

Scene viewer shows "Update needed" for google app, even though none is available #2489

Closed GabrielArakaki closed 3 years ago

GabrielArakaki commented 3 years ago

Description

On any opening of scene viewer through intent, there is a message that shows me to Update my google app. After clicking on update, no update is available for the app.

The problem started happening this week for me, even though I believe it has not reached our full customer base, based on user feedbacks.

The problem can be replicated on the modelviewer.dev scene viewer example.

Live Demo

https://modelviewer.dev/examples/augmentedreality/#sceneViewer

https://user-images.githubusercontent.com/7118128/122596034-b00b9c00-d03f-11eb-834b-912c1da88758.mp4

Version

Browser Affected

OS

AR

Other info

Google App Version: 12.22.8.23.arm64 Google Play Services for AR: 1.25.211460003 Device: Samsung Galaxy s10e SM-G970F

elalish commented 3 years ago

Yes, it looks like a bug is rolling out in a new ARCore or Scene Viewer version. We're trying to get it fixed shortly. Meanwhile, WebXR mode is working fine, so you might consider switching.

Chillpill23 commented 3 years ago

I'd like to follow this thread as I am also experiencing the issue and webxr does not work on my phone.

DerrickBarra commented 3 years ago

@elalish Please squash this nasty bug quickly, we're using sceneviewer in a production environment :)

MRKrog commented 3 years ago

@elalish On Thursday 6/17/2021, we noticed a number of Android devices were getting an error when trying to open a GLB from a web link into Scene Viewer (using phones most recent security update)

Below is the behavior noticed, when Launching Scene Viewer from HTML link.

  1. When the intent link is fired the user will get a pop up telling them to update the (“Google App”) image

  2. (After pressing the update button) This will open a Google Play Store page to the google app which does not have an update available. image

Currently we are following the documentation from:

https://developers.google.com/ar/develop/java/scene-viewer#launch_scene_viewer_from_html_or_java

Our current html intent link bundle:

intent://arvr.google.com/scene-viewer/1.1?file=https://bubba-viewer.s3.amazonaws.com/test.glb&mode=ar_only&resizable=false#Intent;scheme=https;package=com.google.ar.core;action=android.intent.action.VIEW;S.browser_fallback_url=https://developers.google.com/ar;end;

Breakdown of intent link bundle:

Base intent url: intent://arvr.google.com/scene-viewer/1.1 File url: https://bubba-viewer.s3.amazonaws.com/test.glb Mode: ar_only Resizable: false sceneURL: #Intent;scheme=https;package=com.google.ar.core;action=android.intent.action.VIEW; Browser_fallback_url: https://developers.google.com/ar;end;

tpsiaki commented 3 years ago

Quick Update: We've resolved this bug internally and are working on rolling it out. This issue was introduced with the 1.25 launch of Google Play Services for AR, and will be resolved with the next launch (should start rolling out this week and be out to all users next week).

In the meantime, you can mitigate this issue by changing the package in the Scene Viewer intent link to com.google.android.googlequicksearchbox (the Google app) instead of com.google.ar.core. The reason that Model Viewer intents to ARCore instead of the Google app is in order to ensure that an appropriate version of ARCore is installed (otherwise the browser falls back to model-viewer which displayes an in-browser fullscreen 3D view). If you intent to the Google app instead, and the user does not have a reasonably up to date version of ARCore installed then Scene Viewer will still launch but in 3D mode (which is non-ideal because the user will re-download the gltf file in Scene Viewer but not actually get the AR experience).

As @elalish pointed out, if you are able to use WebXR mode, that will also avoid this issue.

david-rhodes commented 3 years ago

@elalish @tpsiaki Can model-viewer implement this as a patch for the internal intent so that existing users wanting to use scene-viewer instead of WebXR can get this work around as well, please?

elalish commented 3 years ago

That work-around comes with it's own problems. We're also encouraging people to move toward WebXR in part to avoid issues like this. If you have any reasons you're not switching yet, please post them in our discussion so we can resolve them: https://github.com/google/model-viewer/discussions/2413

The ARCore fix is rolling out as we speak.

david-rhodes commented 3 years ago

Thanks @elalish. I updated the discussion with some ideas for improving WebXR. However, one of the biggest issues I currently have is with WebXR is canActivateAR, as pointed out in this discussion. It's just not reliable due to the async nature, and we often need to know if AR is supported so we can show a QR code rather than the AR button.

There's also some bugs with it when the ar-button will sometimes disappear (could be related to the issue with canActivateAR). I'm trying to create some repro steps now, but it could be related to multiple model-viewers in a single page.

david-rhodes commented 3 years ago

@elalish @tpsiaki can you please provide an ETA when this update will roll out? It seemed to be "ready for release" two weeks ago? 😆

Thank you!

tpsiaki commented 3 years ago

The fix was released for all users on Wednesday last week so it should be deployed to a substantial percent of devices by now. If you have Google Play Services for AR updated version 1.25.1 you should see this working.

david-rhodes commented 3 years ago

Thank you @tpsiaki.