Başlayın

Genel bakış

Digital Asset Links protokolü ve API, bir uygulamanın veya web sitesinin diğer uygulamalar veya web siteleri hakkında herkese açık, doğrulanabilir açıklamalar yayınlamasını sağlar. Örneğin, bir web sitesi belirli bir Android uygulamasıyla ilişkili olduğunu veya kullanıcı kimlik bilgilerini başka bir web sitesiyle paylaşmak istediğini beyan edebilir.

Dijital Öğe Bağlantılarının olası bazı kullanımları şunlardır:

  • Web Sitesi A, site bağlantılarının mobil cihazlarda (uygulama yüklüyse) belirli bir uygulamada açılması gerektiğini beyan eder.
  • Web Sitesi A, kullanıcının A web sitesine giriş yapması halinde kullanıcının B web sitesine giriş yapmak zorunda kalmaması için Chrome kullanıcı kimlik bilgilerini B web sitesiyle paylaşabileceğini beyan eder.
  • A uygulaması, konum gibi cihaz ayarlarını B web sitesiyle paylaşabileceğini beyan eder.

Anahtar terimler

  • Müdür: Müdür, açıklamayı yapan uygulama veya web sitesidir. Digital Asset Links'te ana hesap, her zaman ifade listesini barındıran uygulama veya web sitesidir.
  • İfade listesi: İfadeler, bir veya daha fazla ifade içeren bir ifade listesinde bulunur. Beyan listesi, ana hesabın kontrolünde olan ve adres sahteciliği veya müdahale edilmesi zor bir konumda bulunan, açık metin olup herkesin erişimine açıktır. Bağımsız bir dosya veya daha büyük bir öğenin bir bölümü olabilir. Örneğin, web sitesinde dosyanın tamamıdır; Android uygulamalarında ise uygulama manifest dosyasındaki bir bölümdür. İfadeler, özel olmayan yöntemler kullanılarak herkes tarafından görüntülenip doğrulanabilir. Daha fazla bilgi için beyan listesi belgelerine bakın.
  • İfade: İfade, bir relation (deyimin yapması gerektiğini söylediği şey, örneğin: Kimlik bilgilerini paylaşmayı etkinleştir) ve bir relation (ilişkinin geçerli olduğu web sitesi veya uygulama) oluşan, sıkı yapılandırılmış bir JSON yapısıdır. Bu nedenle, her ifade bir cümle gibidir. Burada ana_para ifadesi hedef ile ilgili ilişki ifade eder.
  • Tüketici beyanı: İfade tüketicisi, bir ana hesaptan bir beyan listesi ister, belirli bir ana hesaba göre bir ifadenin varlığını kontrol eder ve varsa belirtilen işlemi gerçekleştirebilir. Daha fazla bilgi için devam eden dokümanlara bakın.

Hızlı kullanım örneği

Aşağıda, www.example.com web sitesinin, söz konusu sitedeki URL'lere giden bağlantıların tarayıcı yerine özel bir uygulamada açılması gerektiğini belirtmek için Dijital Öğe Bağlantılarını nasıl kullanabileceğine ilişkin çok basit bir örnek verilmiştir:

  1. www.example.com web sitesi, https://www.example.com/.well-known/assetlinks.json adresinde bir beyan listesi yayınlıyor. Bu, bir sitedeki beyan listesinin resmi adı ve konumudur. Başka herhangi bir konumdaki veya başka bir ada sahip beyan listeleri bu site için geçerli değildir. Örneğimizde ifade listesi, Android uygulamasına sitesinde bağlantıları açma izni veren bir ifadeden oluşur:
    [{
      "relation": ["delegate_permission/common.handle_all_urls"],
      "target" : { "namespace": "android_app", "package_name": "com.example.app",
                   "sha256_cert_fingerprints": ["hash_of_app_certificate"] }
    }]
    İfade listesi, [ ] işaretleri içindeki bir ifade dizisini destekler ancak örnek dosyamız yalnızca bir ifade içerir. sha256_cert_fingerprints, uygulamanızın imza sertifikasının SHA256 parmak izidir. Daha fazla bilgiyi Android App Links dokümanlarında bulabilirsiniz.
  2. Yukarıdaki ifadede listelenen Android uygulaması, işlemek istediği URL'lerin şema, ana makine ve yol kalıbını belirten bir intent filtresine (bu örnekte https://www.example.com) sahiptir. Intent filtresi, Android M'de yeni olan android:autoVerify özel bir özelliğini içerir. Bu özellik, Android'in uygulama yüklendiğinde intent filtresinde açıklanan web sitesindeki ifadeyi doğrulaması gerektiğini belirtir.
  3. Bir kullanıcı uygulamayı yükler. Android, autoVerify özelliğiyle intent filtresini görür ve belirtilen sitede ifade listesinin olup olmadığını kontrol eder. Varsa Android, bu dosyanın uygulamaya bağlantı işleme izni veren bir ifade içerip içermediğini kontrol eder ve uygulamayı sertifika karması ile ifadeye göre doğrular. Her şey yolundaysa Android tüm https://www.example.com intent'lerini example.com uygulamasına yönlendirir.
  4. Kullanıcı, cihazında https://www.example.com/kopeklere yönlendiren bir bağlantıyı tıklar. Bu bağlantı herhangi bir yerde olabilir: tarayıcıda, Google Search Cihazı önerilerinde veya başka herhangi bir yerde. Android, amacı example.com uygulamasına yönlendirir.
  5. example.com uygulaması amacı alır ve uygulamadaki yavru köpekler sayfasını açarak bunu işlemeyi seçer. Herhangi bir nedenle uygulama bağlantıyı işlemeyi reddetmişse veya uygulama cihazda değilse bağlantı, bu niyet kalıbıyla eşleşen bir sonraki varsayılan amaç işleyiciye (genellikle tarayıcı) gönderilir.

Dikkat edilmesi gereken önemli noktalar ve sınırlamalar:

  • Protokol, ifadeyi yapan ana hesabın kimliğini doğrulamaz ancak ifade, ana hesapla güçlü bir şekilde ilişkili olan ve ana hesabın kontrolü altında belirli bir konumda yer alır.
  • Protokol, ifade hedefinin kimliğini doğrulamaz ancak çağrıyı yapanın hedefin kimliğini doğrulaması için bir yöntem sağlar (örneğin, bir ifade, mobil uygulama hedeflerini sertifika karması ve paket adına göre tanımlar).
  • Protokol yerel olarak herhangi bir ifade işlemi gerçekleştirmez. Bunun yerine, tüketen bir uygulamanın doğrulaması gereken ve ardından eylemde bulunup bulunmayacağına ve nasıl hareket edeceğine karar vermesi gereken ifadeleri kullanıma sunmak için kullanılır. Android M, bu adımları sizin için yerel olarak gerçekleştirir. Örneğin, bir web sitesi belirli bir uygulama için bağlantı işleme yetkisi verirse Android, ifadeyi kontrol edip doğrular, hedef uygulamayı doğrular ve ardından uygulamaya, belirtilen bağlantıyı işleme seçeneği sunar.
  • Protokol, iki üçüncü taraf hakkında beyanların yapılmasını sağlamaz: Yani, A web sitesi B web sitesi hakkında bir açıklama yapabilir ancak A web sitesi, B web sitesi ile C web sitesiyle ilişkisi hakkında bir beyanda bulunamaz. Ancak B web sitesi A web sitesine güveniyorsa A web sitesinde C web sitesine izin veren bir ifade olup olmadığını kontrol edip bunu uygulamaya karar verebilir.

Sonraki adımlar

  1. Kullanım alanınızla ilgili açık bir doküman olup olmadığına bakın.
  2. Açıklama metni oluşturma hakkında bilgi edinin.