Sintaksis Daftar Pernyataan

Daftar pernyataan adalah file atau cuplikan berenkode JSON di lokasi yang dikenal.

Lokasi daftar pernyataan

Lihat Membuat daftar pernyataan untuk mempelajari tempat daftar ini harus disimpan.

Sintaksis

Daftar atau cuplikan pernyataan terdiri dari array JSON dari 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}
  } , ...
]
relation
Array yang berisi satu atau beberapa string yang menjelaskan hubungan yang dideklarasikan tentang target. Lihat daftar string relasi yang ditentukan. Contoh: delegate_permission/common.handle_all_urls
target
Aset target yang menjadi tujuan pernyataan ini. Jenis target yang tersedia:
relation_extensions (opsional)

Anda dapat menambahkan kolom relation_extensions opsional ke pernyataan untuk memberikan informasi lebih lanjut tentang izin dan asosiasi yang ingin Anda berikan. Kolom ini harus berupa objek dengan setiap kunci adalah string relasi, dan nilainya adalah objek yang berisi ekstensi untuk relasi tersebut. Klien yang meminta pernyataan ini perlu diperbarui untuk mematuhi kolom ini.

Misalnya, relation_extensions untuk relasi delegate_permission/common.handle_all_urls mungkin terlihat seperti:

  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "com.example.app",
      "sha256_cert_fingerprints": ["..."]
    },
    "relation_extensions": {
      "delegate_permission/common.handle_all_urls": {...}
    }
  }
  

DAL API mendukung menampilkan relation_extensions dalam panggilan API saat parameter return_relation_extensions=true ditetapkan dalam permintaan.

Contoh daftar pernyataan

Berikut adalah contoh daftar pernyataan situs yang berisi pernyataan tentang situs dan aplikasi: http://example.digitalassetlinks.org/.well-known/assetlinks.json

Menskalakan ke puluhan pernyataan atau lebih

Dalam beberapa kasus, prinsipal mungkin ingin membuat banyak pernyataan berbeda tentang target yang berbeda, atau mungkin ada kebutuhan untuk mengeluarkan pernyataan dari prinsipal yang berbeda ke kumpulan target yang sama. Misalnya, sebuah situs mungkin tersedia di banyak Domain Tingkat Teratas per negara yang berbeda, dan semuanya mungkin ingin membuat pernyataan tentang aplikasi seluler yang sama.

Untuk situasi ini, pernyataan include dapat membantu. Dengan mekanisme ini, Anda dapat menyiapkan pointer dari banyak prinsipal yang berbeda ke satu lokasi pusat, yang menentukan pernyataan untuk semua prinsipal.

Misalnya, Anda dapat memutuskan bahwa lokasi pusat adalah `https://example.com/includedstatements.json`. File ini dapat dikonfigurasi agar berisi konten yang sama seperti dalam contoh di atas.

Untuk menyiapkan penunjuk dari situs web ke file include, ubah `https://example.com/.well-known/assetlinks.json` menjadi:

[{
  "include": "https://example.com/includedstatements.json"
}]

Untuk menyiapkan penunjuk dari aplikasi Android ke file include, 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 mendetail tentang format daftar pernyataan dan konsep yang mendasarinya dalam dokumen spesifikasi kami.