Membuat Daftar Pernyataan

Pernyataan dihosting dalam daftar pernyataan yang dienkode JSON di lokasi yang terkenal pada prinsip, seperti yang ditentukan oleh Spesifikasi Link Aset. Daftar pernyataan berisi satu atau beberapa pernyataan, dan utama hanya dapat memiliki satu daftar pernyataan.

Sintaksis daftar pernyataan

Lihat sintaksis daftar pernyataan.

Lokasi daftar laporan mutasi

Daftar pernyataan dihosting di lokasi terkenal yang bergantung pada jenis utama (situs atau aplikasi yang membuat pernyataan).

Daftar pernyataan situs

Di situs, daftar pernyataan adalah file teks yang terletak di alamat berikut:

scheme://domain/.well-known/assetlinks.json

Perhatikan titik di nama folder .well-known.

Setiap respons dari server selain HTTP 200 akan diperlakukan sebagai error, dan akan menghasilkan daftar pernyataan kosong. Untuk HTTPS, koneksi apa pun tanpa rantai sertifikat yang dapat diverifikasi dengan daftar root tepercaya juga akan menghasilkan daftar pernyataan kosong.

Contoh

Berikut adalah contoh daftar pernyataan di situs: http://example.digitalassetlinks.org/.well-known/assetlinks.json

Daftar pernyataan aplikasi Android

Di aplikasi Android, daftar pernyataan adalah cuplikan JSON dengan sintaksis yang sama dengan file pernyataan situs, tetapi disematkan dalam file strings.xml, dan direferensikan dalam manifes seperti yang ditampilkan berikutnya.

Di AndroidManifest.xml:

<manifest>
  <application>
    ...
    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    ...
  </application>
</manifest>

Di res/values/strings.xml:

<resources>
  ...
  <string name="asset_statements">
    ... statement list ...
  </string>
</resources>

Contoh

Berikut adalah contoh cuplikan res/values/strings.xml untuk aplikasi Android yang mendukung berbagi lokasi dengan aplikasi (fitur Android saat ini tidak didukung):

<resources>
    ...
    <string name="asset_statements">
      [{
        \"relation\": [\"delegate_permission/common.share_location\"],
        \"target\": {
          \"namespace\": \"web\",
          \"site\": \"https://example.com\"
        }
      }]
    </string>
</resources>

Cocok dengan target

Setiap pernyataan berkaitan dengan target. Saat Anda menggunakan pernyataan, Anda harus mencocokkan target dalam pernyataan dengan beberapa entitas. Jika target pernyataan cocok dengan entitas, pernyataan tersebut akan berlaku. Berikut adalah aturan untuk menentukan apakah target cocok dengan entitas tertentu:

Target situs

Untuk situs, skema, host, dan port situs harus sama persis. Port default untuk HTTP dan HTTPS (masing-masing 80 dan 443) diasumsikan secara implisit; jika target pernyataan mendeskripsikan http://www.example.com:80, maka situs http://www.example.com dianggap cocok.

Contoh

Dengan mempertimbangkan target pernyataan berikut

"target": {
  "namespace": "web",
  "site": "https://www.google.com"
}

URI berikut AKAN cocok:

  • https://www.google.com/
  • https://www.google.com:443/
  • https://www.google.com/foo
  • https://www.google.com/foo?bar
  • https://www.google.com/foo#bar
  • https://user@sandi:www.google.com/

URL berikut TIDAK akan cocok:

  • http://www.google.com/ (Skema salah)
  • https://google.com/ (Nama host tidak cocok)
  • https://www.google.com:444/ (Port tidak cocok)

Target aplikasi

Untuk aplikasi, hash sertifikat dan nama paket target harus sama persis dengan aplikasi.