Yarından sonraki günün özellikleri: Web Share API ve Web Share Target API



  1. Yarından sonraki günün özellikleri: Web Share API ve Web Share Target API

Bugüne kadar, mobil web uygulamaları arasında içerik paylaşımına yönelik birleşik bir yaklaşım yoktur. Ancak bu durum yakında değişebilir, çünkü Web İnkübatörü Topluluk Grubu zaten karşılık gelen Web API’lerini düşünüyor: İçeriği Web Share API aracılığıyla paylaşmak ve Web Share Target API aracılığıyla içerik almak mümkün olmalıdır.


Bahsedilen her iki API de şu anda erken bir aşamadadır ve henüz büyük tarayıcıların herhangi bir resmi sürümünde desteklenmemektedir. Bununla birlikte, en azından Web Paylaşımı API’sı, Google’ın Origin Trial adlı deneme sürümü aracılığıyla test edilebilir (bu, genellikle Chrome geliştirme ekibi tarafından yeni API’leri uygularken geliştiricilerden geri bildirim almak için kullanılır). Oraya kaydolursanız, özel bir belirteç alacaksınız ve ardından API, web uygulamanıza yüklendikten sonra Chrome Beta aracılığıyla Android cihazlarda kontrol edilebilecek:

<meta http-equiv="origin-trial" data-feature="Web Share" content="TOKEN">

Resmi olarak, Web Paylaşımı API’si daha sonra Chrome’da sürüm 55 ile tanıtılacaktır.

Web paylaşım API’sı


Daha önce belirtildiği gibi, Web Paylaşımı API’sinin amacı, içeriğin (bundan böyle “kaynaklar” olarak anılacaktır) mobil uygulamalar arasında paylaşılması için birleşik bir yol sağlamaktır. API, özellikle yalnızca iki arayüz olduğundan, mevcut haliyle nispeten temizdir. gezgin Ve İşçi Navigatörü bir yöntem üzerinde Paylaşmak() genişletilmek istenmektedir. Özellik tespiti daha sonra şöyle görünebilir, örneğin:

if(navigator.share === undefined) {
console.error('Web Share API wird nicht unterstützt.');
} else {
console.log('Web Share API wird unterstützt.');
}

Yöntem, bunu bir parametre olarak bekler Paylaşmak() türde bir nesne Verileri paylaşınbu da üç özelliğe sahip olabilir:


  • Başlık: paylaşılan kaynağın başlığı
  • metin: kaynağın ek bir açıklamasını sağlamak için kullanılabilecek metin
  • URL’ler: Paylaşılan kaynağın URL’si
Görüntü veya blob verilerinin belirtiminin etkinleştirilmesi de planlanmaktadır. Tüm özellikler isteğe bağlıdır, ancak en az birinin nesneye dahil edilmesi gerekir.

let shareData =
{
title: document.title,
text: 'Die erste mit der Web Share API geteilte Ressource.',
url: window.location.href
}

Dönüş değeri yöntemden elde edilir. Paylaşmak() geri arama işlevlerinin her zamanki gibi tanımlanabileceği bir söz verme nesnesi:

navigator
.share(shareData)
.then(() => {
console.log('Erfolgreich geteilt');
})
.catch(error => {
console.log('Fehler beim Teilen: ', error)
});



Yukarıdaki o zamanlar() Belirtilen geri çağırma işlevi, kullanıcı kaynağın paylaşılacağı bir uygulama (veya “Paylaş Hedefi”) seçtiğinde ve kaynak bu uygulama tarafından hatasız olarak kabul edildiğinde çağrılır. Hata durumunda, yukarıdaki yakalamak() tanımlı geri arama işlevi çağrılır, bunun için hatalar oluşur, örneğin,

  1. paylaşılan kaynak veya Verileri paylaşın– nesne tarafından iletilen veriler yanlış,
  2. kaynağı kabul eden uygun bir uygulama bulunamadı,
  3. kullanıcı bir uygulama seçmez veya seçimi iptal eder veya
  4. kaynak seçilen uygulamaya doğru şekilde teslim edilemedi.
“Paylaşım Hedefleri”, pano gibi mevcut hizmetler, Facebook veya Twitter gibi yerel uygulamalar, aynı zamanda diğer web uygulamaları, yani paylaşılan içeriği almak için Web Share Target API aracılığıyla kaydolanlar olabilir.

Web paylaşımının hedef API’si


Web Paylaşımı API’sinin içerik paylaşımına izin vermesi gerekirken, Web Paylaşımı Hedef API’sinin paylaşılan içeriği (diğer uygulamalardan) alabilmesi gerekir. Bir ön koşul olarak, ilgili tarayıcının hem Service Worker API’yi hem de Web App Manifest API’yi desteklemesi gerekir.

Paylaşılan içeriği alması gereken bir uygulama (belirtildiği gibi, “Paylaşım Hedefi” olarak da adlandırılır) yöntemi kullanarak kendini kaydeder. addEventListener() veya olay işleyici aracılığıyla onshare için Paylaşmak-Olaylar:

navigator.actions.addEventListener('share', handler);

Alınan olaylar türdedir Etkinliği Paylaş ve sırayla ilgili erişime izin verir Verileri paylaşın-Nesne:

const handler = event => {
let shareData = event.data;
console.log(shareData.title);
console.log(shareData.text);
console.log(shareData.url);
}

içindeki veriler Paylaşılan Verilernesne, hedef uygulamaya bağlı olarak farklı şekillerde kullanılabilir; örneğin, özelliğin içeriği, bir e-posta istemcisi için “Paylaşım Hedefi” olarak kullanılabilir Başlık e-postanın konusu ve kombinasyonu olarak metin Ve URL’ler e-postanın içeriği olarak, bir metin mesajında ise içeriği Başlık yoksayılır ve yalnızca bir kombinasyonuna karşı metin Ve URL’ler kullanılabilir:

const emailHandler = event => {
let data = event.data;
let subject = data.title;
let content = `${data.text} ${data.url}`;
composeEmail(subject, content);
}
const textMessengerHandler = event => {
let content = `${data.text} ${data.url}`;
composeMessage(content);
}
Çözüm


Web Share API ve Web Share Target API, mobil uygulamalar arasında içerik paylaşımı için arayüzleri tanımlar. API’lerin hiçbiri şu anda herhangi bir tarayıcı tarafından desteklenmemektedir, ancak Web Share API, açıklandığı gibi Android’de Chrome Beta’da test edilebilir.


()



Haberin Sonu
 
Üst