İfade listesi, iyi bilinen bir konumdaki JSON kodlamalı bir dosya veya snippet'tir.
İfade listesinin konumu
Bu listenin nerede depolanması gerektiğini öğrenmek için Açıklama listesi oluşturma başlıklı makaleyi inceleyin.
Söz dizimi
İfade listesi veya snippet şunlardan oluşur: JSON nesneleri olarak bir veya daha fazla web sitesi ya da uygulama ifadesinden oluşan bir JSON dizisi. Bu ifadeler herhangi bir sırada olabilir. Genel söz dizimi şu şekildedir:
[ { "relation": ["relation_string "], "target": {target_object } } , ... ]
- ilişki
- Hedefle ilgili olarak beyan edilen ilişkiyi açıklayan bir veya daha fazla dize dizisi. Tanımlanmış ilişki dizeleri listesine bakın. Örnek:
delegate_permission/common.handle_all_urls
- hedef
- Bu ifadenin geçerli olduğu hedef öğe. Kullanılabilir hedef türleri:
-
Web sitesi hedefi "target": { "namespace": "web", "site": "
site_root_url " }- ad alanı
- Web siteleri için
web
olmalıdır. - site
- Açıklamanın hedefi olan sitenin URI'sı.
http[s]://<hostname>[:<port>]
biçiminde olup <hostname> tam niteliklidir. HTTP için bağlantı noktası 80, HTTPS için bağlantı noktası 443 kullanılırken <port> atlanmalıdır. Web sitesi hedefi yalnızca bir kök alan olabilir. belirli bir alt dizinle sınırlayamazsınız; bu kök altındaki tüm dizinler eşleşecek. Alt alan adları eşleşecek şekilde dikkate alınmamalıdır. Yani, ifade dosyası www.example.com adresinde barındırılıyorsa www.puppies.example.com bir eşleşme olarak değerlendirilmemelidir. Web sitesi hedef eşleştirmesiyle ilgili kurallar ve örnekler için hedefler belgelerine bakın. Örnek:http://www.example.com
-
Android uygulama hedefi "target": { "namespace": "android_app", "package_name": "
fully_qualified_package_name ", "sha256_cert_fingerprints": ["cert_fingerprint "] }- ad alanı
- Android uygulamaları için
android_app
olmalıdır. - package_name
- Bu beyanın geçerli olduğu uygulamanın tam nitelikli paket adı. Örnek:
com.google.android.apps.maps
- sha256_cert_fingerprints
- Bu işlemin sağlandığı uygulamaya ait sertifikanın büyük harfli SHA265 parmak izi
geçerlidir. Bunu, burada gösterildiği gibi
openssl
veya Javakeytool
kullanarak hesaplayabilirsiniz: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"]
.Uygulamanız için Play Uygulama İmzalama'yı kullanıyorsanız
keytool
veyaopenssl
'ı yerel olarak çalıştırarak üretilen sertifika parmak izi genellikle kullanıcıların cihazlarındaki parmak iziyle eşleşmez. Uygulamanız için Play Uygulama İmzası'nı kullanıp kullanmadığınızı Play Console geliştirici hesabınızdaki Release > Setup > App Integrity bölümünden doğrulayabilirsiniz. Kullanıyorsanız aynı sayfada uygulamanız için doğru Digital Asset Links JSON snippet'ini de bulabilirsiniz.
-
Örnek ifade listesi
Hem web siteleri hem de uygulamalarla ilgili beyanlar içeren örnek bir web sitesi beyan listesi: http://example.digitalassetlinks.org/.well-known/assetlinks.json
Onlarca veya daha fazla ifadeye ölçeklendirme
Bazı durumlarda müdür, birçok farklı ifadede bulunmak isteyebilir ya da farklı hedeflerle ilgili açıklamalar yapmanız gerekebilir. ana paraları aynı hedef kümesine koydu. Örneğin, bir web sitesi ülkeye özel birçok farklı üst düzey alan adında bulunabilir ve bunların tümü aynı mobil uygulama hakkında açıklama yapmak isteyebilir.
Bu durumlarda dahil etme ifadeleri faydalı olabilir. Bu mekanizmayı kullanarak, birçok farklı asıl öğeden tek bir merkezi konuma işaretçiler ayarlayabilirsiniz. Bu konum, tüm asıl öğeler için ifadeleri tanımlar.
Örneğin, merkezi konumun "https://example.com/includedstatements.json" olması gerektiğine karar verebilirsiniz. Bu dosya, yukarıdaki örneklerdekiyle aynı içeriği içerecek şekilde yapılandırılabilir.
Bir web sitesinden dahil etme dosyasına işaretçi ayarlamak için "https://example.com/.well-known/assetlinks.json" değerini şu şekilde değiştirin:
[{ "include": "https://example.com/includedstatements.json" }]
Android uygulamasından dahil etme dosyasına bir işaretçi ayarlamak için "res/values/strings.xml" dosyasını şu şekilde değiştirin:
<resources> ... <string name="asset_statements"> [{ \"include\": \"https://example.com/includedstatements.json\" }] </string> </resources>
Daha Fazla Bilgi
Spesifikasyon belgemizde, beyan listesi biçimi ve temel kavramlar hakkında daha ayrıntılı bir açıklama bulabilirsiniz.