Sintaksis Daftar Pernyataan

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": {
      "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": {
      "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 atau keytool Java seperti yang ditunjukkan di sini:
    • openssl x509 -in $CERTFILE -noout -fingerprint -sha256
    • keytool -printcert -file $CERTFILE | grep SHA256
    Contoh: ["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 atau openssl 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.