Pernyataan dihosting dalam daftar pernyataan berenkode JSON di lokasi yang dikenal baik di pokok, sebagaimana ditentukan oleh Spesifikasi Link Aset. Daftar pernyataan berisi satu atau beberapa pernyataan, dan pokok hanya dapat memiliki satu daftar pernyataan.
Sintaksis daftar pernyataan
Lihat sintaksis daftar pernyataan.
Lokasi daftar pernyataan
Daftar pernyataan dihosting di lokasi yang sudah dikenal dan bergantung pada jenis principal (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.
Respons apa pun dari server selain HTTP 200 dianggap 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 seperti file pernyataan situs, tetapi disematkan dalam file strings.xml, dan dirujuk dalam manifes seperti yang ditunjukkan 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 yang saat ini tidak didukung):
<resources>
...
<string name="asset_statements">
[{
\"relation\": [\"delegate_permission/common.share_location\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://example.com\"
}
}]
</string>
</resources>Mencocokkan target
Setiap pernyataan adalah tentang target. Saat menggunakan pernyataan, Anda harus mencocokkan target dalam pernyataan dengan beberapa entitas dalam kenyataan. Jika target pernyataan cocok dengan entitas, pernyataan 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 menjelaskan http://www.example.com:80, maka situs http://www.example.com dianggap cocok.
Contoh
Dengan 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@password: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.