WebGL в Android WebView

Я знаю, что об этом уже спрашивали, но сейчас эти вопросы устарели. У меня есть "игра", которую я разработал некоторое время назад с помощью WebGL, и я хочу вывести ее на Android с помощью простого WebView. Теперь проблема в том, что он не отвечает на пользовательский ввод в WebView (Chrome работает просто отлично. Android 7.1.1) . Я думаю, это из-за WebGL.

Так что теперь, когда crosswalk-проект давно закончился, я ищу альтернативу для запуска WebGL в моем приложении. Или как-то просто запустите мою "игру" в приложении для Android.

У вас есть идеи, как я мог бы заставить его работать?

1 ответ

Решение

Начиная с 5.0 Android поставляется с Android System WebView, который обновляется, и мы можем назвать его Native WebView, WebGL должен работать там, хотя некоторые из расширений WebGL и WebGL 2 ( статистика) могут не работать.

Ключ к тому, чтобы ваша игра работала как приложение, заключается в следующем.

Сначала вы должны определить, какая версия WebGL, расширения WebGL, возможности WebGL или Shader и другие функциональные возможности HTML5 вашей игры (и используемого вами игрового движка).

Затем вы должны найти WebView, который поддерживает эту функцию. Вы можете просто сделать это, открыв веб-страницы https://html5test.com/ и http://webglreport.com/ с WebView, который вы хотите на своем устройстве Android. ВАЖНЫЙ! Например, если вы открываете веб-страницу с установленным браузером Chrome, это не гарантирует использование Native WebView! Поэтому лучше написать небольшое специальное приложение, чтобы убедиться, что вы тестируете WebView, который хотите использовать для игры.

В конце концов, вы, вероятно, в конечном итоге скомпилируете свою игру в приложении с настраиваемым WebView, что добавит дополнительный размер вашей игре.

Другая полезная информация

  • Версии Android < 5.0 имеют собственный WebView, который не поставляется с обновлениями, поэтому он не поддерживает WebGL, и это не изменится. Но браузер Chrome (или другие установленные браузеры), скорее всего, будет поддерживать там WebGL, потому что он поставляется с пользовательским WebView.
  • Самсунг действительно облажался. Я имею в виду, что они много настраивают ОС Android, включая некоторую чёрную магию с WebViews => Нативный WebView там не работает должным образом, поэтому пользовательский WebView в вашем приложении просто необходим.
  • Мы ( GAMEE) используем Native WebView и XWalkView для Samsung и Android < 5.0, и игры WebGL работают отлично сейчас.
Другие вопросы по тегам