Я постоянно беспокоюсь о том, что на веб-платформе мы создаем непреднамеренные силосы, затрудняя получение данных на веб-сайтах и в приложениях и из них, что более важно, я беспокоюсь, что данные только протекают одним способом: из в приложениях, потому что приложения могут быть во всех местах, которые пользователи ожидают, что они будут на своих устройствах.
Я был очень рад, что Chrome начал работать в API-интерфейсе веб-доступа к ресурсам, что дополняет работу над navigator.share. Где «navigator.share» позволяет вам обмениваться информацией с вашего веб-сайта на любое приложение на устройстве пользователя, которое может получать «акции» («Intent.ACTION_SEND» на языке Android), веб-ресурс для общего доступа позволяет вашему веб-сайту (или PWA ) сказать: «Я тоже хочу играть в эту игру».
Я очень рад сказать, что эта работа теперь доступна в Chrome Canary на Android.
API-интерфейс веб-ресурса - это небольшой API, который вы определяете в своем манифесте веб-приложений. Если вы когда-либо использовали registerProtocolHandler
, вы увидите, что это не миллион миль. вы определяете шаблон URL, в котором есть несколько переменных, которые будут заменены, когда пользователь вызывает действие.
Сначала вы создаете свойство ‘object’, называемое share_target
, которое содержит одно свойство, называемоеurl_template
, которое имеет путь, который должен быть открыт, когда пользователь выбирает наш сервис. На Android вы можете использовать три подстановочных имени: * {title}
- equivelent для .title
в API navigator.share илиIntent.EXTRA_SUBJECT
из Android Intent. * {text}
- равнозначный .text
на navigator.share API, илиIntent.EXTRA_TEXT
из Android Intent. * {url}
- равнозначный .url
на navigator.share API или необработанные данные из Android Intent.
Вы можете попробовать это сегодня, установив PWA (Twitter) (0). Твиттер ниже:
{
...
"name": "Twitter Lite",
"share_target": {
"url_template": "compose/tweet?title={title}&text={text}&url={url}"
},
...
}
Сейчас есть некоторые ограничения:
- У вас может быть только один за манифест, это означает, что в случае с Twitter у них не может быть «Share to DM». * Предлагаются некоторые расширения, такие как событие сервис-работника под названием «navigator.actions», которое будет запущено без необходимости открывать поверхность интерфейса, но они еще не реализованы. * Вы можете делиться только «текстом», что означает, что если вы хотите разделить Blob данных, которые вам нужно сохранить, с URL-адресом, который затем будет передан. * Он работает только на Android. * У вас должен быть установлен PWA, поэтому вы не можете делать диск путем регистрации целевой цели. Когда Chrome генерирует «веб-APK», теперь он смотрит на «share_target», чтобы узнать, должен ли он регистрировать собственный «<фильтр-замысел>». * Он еще не стандартизирован как часть спецификации манифеста. : / oh - и он также может измениться.
Ограничения в сторону, это довольно удивительное дополнение к веб-платформе, которая является началом разрушения огромных барьеров, которые имеет сеть в отношении интеграции на платформах хоста.
Если вы хотите отслеживать обновления этого API, проверьте Статус Chrome.