Daftar pernyataan adalah file atau cuplikan yang dienkode JSON di lokasi yang dikenal.
Lokasi daftar pernyataan
Lihat Membuat daftar pernyataan untuk mengetahui di mana daftar ini harus disimpan.
Sintaksis
Daftar atau cuplikan pernyataan terdiri dari Array JSON yang berisi satu atau beberapa pernyataan situs atau aplikasi sebagai objek JSON. Pernyataan ini dapat dalam urutan apa pun. Berikut ini adalah sintaks yang umum:
[ { "relation": ["relation_string "], "target": {target_object } } , ... ]
- hubungan
- Array berisi satu atau beberapa string yang menjelaskan hubungan yang dideklarasikan tentang target. Lihat daftar string hubungan yang ditentukan. Contoh:
delegate_permission/common.handle_all_urls
- target
- Aset target tempat pernyataan ini berlaku. Jenis target yang tersedia:
-
Target situs "target": { "namespace": "web", "site": "
site_root_url " }- namespace
- Harus
web
untuk situs. - situs
- URI situs yang merupakan target pernyataan, dalam format
http[s]://<hostname>[:<port>]
, dengan <hostname> sepenuhnya memenuhi syarat, dan <port> harus dihilangkan saat menggunakan port 80 untuk HTTP, atau port 443 untuk HTTPS. Target situs hanya dapat berupa domain root; Anda tidak dapat membatasi ke subdirektori tertentu; semua direktori di bawah root ini akan cocok. Subdomain tidak boleh dianggap cocok: yaitu, jika file pernyataan dihosting di www.example.com, www.pupids.example.com tidak boleh dianggap cocok. Untuk aturan dan contoh tentang pencocokan target situs, lihat dokumentasi target. Contoh:http://www.example.com
-
Target aplikasi Android "target": { "namespace": "android_app", "package_name": "
fully_qualified_package_name ", "sha256_cert_fingerprints": ["cert_fingerprint "] }- namespace
- Harus berupa
android_app
untuk aplikasi Android. - package_name
- Nama paket aplikasi yang sepenuhnya memenuhi syarat tempat pernyataan ini berlaku. Contoh:
com.google.android.apps.maps
- sha256_cert_fingerprints
- Sidik jari SHA265 huruf besar dari sertifikat untuk aplikasi yang menjadi tempat pernyataan ini berlaku. Anda dapat menghitungnya menggunakan
openssl
ataukeytool
Java seperti yang ditunjukkan di sini:openssl x509 -in $CERTFILE -noout -fingerprint -sha256
keytool -printcert -file $CERTFILE | grep SHA256
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
.Jika menggunakan Penandatanganan Aplikasi Play untuk aplikasi Anda, sidik jari sertifikat yang dihasilkan dengan menjalankan
keytool
atauopenssl
secara lokal biasanya tidak cocok dengan yang ada di pengguna perangkat. Anda dapat memverifikasi apakah Anda menggunakan Penandatanganan Aplikasi Play untuk aplikasi Anda di akun developer Konsol Play di bagian Release > Setup > App Integrity; jika ya, Anda juga akan menemukan cuplikan JSON Digital Asset Links yang tepat untuk aplikasi Anda di halaman yang sama.
-
Contoh daftar pernyataan
Berikut adalah contoh daftar pernyataan situs yang berisi pernyataan tentang situs dan aplikasi: http://example.digitalassetlinks.org/.well-known/assetlinks.json
Penskalaan ke banyak pernyataan atau lebih
Dalam beberapa kasus, kepala sekolah mungkin ingin membuat banyak pernyataan yang berbeda tentang target yang berbeda, atau mungkin ada kebutuhan untuk mengeluarkan pernyataan dari akun utama yang berbeda ke kumpulan target yang sama. Misalnya, sebuah situs web mungkin tersedia di banyak Domain Level Teratas per negara, dan semuanya mungkin ingin membuat pernyataan tentang aplikasi seluler yang sama.
Untuk situasi ini, pernyataan penyertaan dapat membantu. Dengan mekanisme ini, Anda dapat menyiapkan pointer dari berbagai akun utama ke satu lokasi pusat, yang menentukan pernyataan untuk semua akun utama.
Misalnya, Anda dapat memutuskan bahwa lokasi pusatnya harus `https://example.com/includedstatements.json`. File ini dapat dikonfigurasi untuk berisi konten yang sama seperti dalam contoh di atas.
Untuk menyiapkan pointer dari situs web ke file yang disertakan, ubah `https://example.com/.well-known/assetlinks.json` menjadi:
[{ "include": "https://example.com/includedstatements.json" }]
Untuk menyiapkan pointer dari aplikasi Android ke file sertakan, ubah `res/values/strings.xml` menjadi:
<resources> ... <string name="asset_statements"> [{ \"include\": \"https://example.com/includedstatements.json\" }] </string> </resources>
Informasi Selengkapnya
Ada penjelasan yang lebih detail tentang format daftar pernyataan dan konsep dasar dalam dokumen spesifikasi kami.