Определите, находится ли устройство ios11 в режиме пониженного энергопотребления, чтобы предотвратить неправильную работу UX при нормально корректно воспроизводимом видео - PullRequest
0 голосов
/ 18 мая 2018

У меня огромная проблема с автоматическим воспроизведением видео на устройствах iOS11 (по крайней мере, на iphone 7 ios 11.2.5 safari).

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

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

Но есть проблема: на прошлой неделе я тестировал на своем girklfriend 11.2 iphone веб-сайт и бум ... видео были заблокированы. Я не поняла почему ... Выяснил причину ... Я использовал ее телефон, пока он заряжал батарею!

Действительно, на ios11, когда вы включаете для зарядки телефон, он автоматически переходит в «режим пониженного энергопотребления», хе-хе ... тем самым блокируя видео с автоматическим воспроизведением. Если вы зайдете в «Настройки»> «itune & apple store» и перейдете к настройке «autoplay video», которую увидите (пока она заряжается в режиме низкого энергопотребления):

«Видео с автоматическим воспроизведением недоступно при включенном режиме пониженного энергопотребления» ....

Таким образом, тысячи пользователей по всему миру, которые будут подключаться к нашему веб-сайту во время зарядки, будут иметь проблемы с загрузкой видео! (мы в значительной степени полагаемся на автоматическое воспроизведение видео, даже если оно отключено до того, как пользователь активирует звук)

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

Я понимаю, что Apple процветает, чтобы защитить пользователей от автозапуска, и это плохо работает, но здесь мы приложили все усилия, чтобы изменить нашу кодовую базу, чтобы она соответствовала их новым политикам, но мы нигде не видим в их документации, как наше веб-приложение (javascript) может обнаруживать низкое энергопотребление. режим "или состояние зарядки телефона). Это несправедливо: если они меняют поведение в определенных случаях, например в режиме низкого энергопотребления, они должны играть по своему собственному правилу и позволить нам создать совместимый, но качественный опыт, позволяя нам определять состояние этого устройства. Чтобы у нас мог быть своего рода план B или запасной вариант для пользователей.

Есть идеи, как определить, что iphone заряжается или находится в режиме пониженного энергопотребления в javascript для веб-приложения? или как с этим бороться?

1 Ответ

0 голосов
/ 18 мая 2018

Я думаю, что свойство настроек, которое вы упомянули, относится только к предварительному просмотру видео в App Store, а не к любым WebViews. На самом деле, я попробовал это W3 Demo на своем телефоне прямо сейчас, и он автоматически воспроизводит , если , то я добавляю muted или inline к тегу видео. (Так это будет выглядеть так: <video width="320" height="240" controls autoplay muted inline>).

Примечание: мой телефон в настоящее время на 17%, он работает независимо от того, заряжаю я его или нет, и режим низкого энергопотребления, похоже, тоже не влияет. Я на iOS 11.4 Beta.

Важны эти дополнительные теги, которые описаны в этом WebKit Blogpost .

...