Web Share Target API

Paul Kinlan
Available in: English (Original) Deutsch Español Français 日本語 मानक हिन्दी tiếng Việt தமிழ் bahasa Indonesia

Я постоянно беспокоюсь о том, что на веб-платформе мы создаем непреднамеренные силосы, затрудняя получение данных на веб-сайтах и ​​в приложениях и из них, что более важно, я беспокоюсь, что данные только протекают одним способом: из в приложениях, потому что приложения могут быть во всех местах, которые пользователи ожидают, что они будут на своих устройствах.

Я был очень рад, что 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.

Paul Kinlan

Trying to make the web and developers better.

RSS Github Medium