İfadeler, Öğe Bağlantıları Spesifikasyonu ile tanımlanan ana hesap üzerinde iyi bilinen bir konumda yer alan JSON kodlu bir ifade listesinde barındırılır. Bir ifade listesi bir veya daha fazla ifade içerir ve ana hesabın yalnızca bir ifade listesi olabilir.
İfade listesi söz dizimi
İfade listesi söz dizimine bakın.
Ekstre listesi konumu
İfade listesi, ana hesabın türüne (açıklamaları yapan web sitesi veya uygulama) bağlı olarak iyi bilinen bir konumda barındırılır.
Web sitesi ekstresi listeleri
Bir web sitesinde ifade listesi, aşağıdaki adreste bulunan bir metin dosyasıdır:
scheme://domain/.well-known/assetlinks.json
.well-known klasör adındaki noktaya dikkat edin.
HTTP 200
dışında sunucudan gelen tüm yanıtlar hata olarak değerlendirilir ve boş bir ifade listesiyle sonuçlanır. HTTPS söz konusu olduğunda, güvenilir kök listesiyle doğrulanabilen sertifika zinciri olmayan tüm bağlantılar da boş ifade listesiyle sonuçlanır.
Örnek
Bir web sitesindeki örnek ifade listesi: http://example.digitalassetlinks.org/.well-known/assetlinks.json
Android uygulama açıklaması listeleri
Bir Android uygulamasında ifade listesi, web sitesi ifade dosyasıyla aynı söz dizimine sahip bir JSON snippet'idir, ancak dizeler.xml dosyasına yerleştirilir ve aşağıda gösterildiği gibi manifestte referans verilir.
AndroidManifest.xml dosyasında:
<manifest> <application> ... <meta-data android:name="asset_statements" android:resource="@string/asset_statements" /> ... </application> </manifest>
res/values/strings.xml içinde:
<resources> ... <string name="asset_statements"> ... statement list ... </string> </resources>
Örnek
Uygulamayla konum paylaşımını destekleyen bir Android uygulamasına (şu anda desteklenmeyen bir Android özelliği) ilişkin bir res/values/strings.xml snippet'i örneğini burada bulabilirsiniz:
<resources> ... <string name="asset_statements"> [{ \"relation\": [\"delegate_permission/common.share_location\"], \"target\": { \"namespace\": \"web\", \"site\": \"https://example.com\" } }] </string> </resources>
Bir hedefle eşleşiyor
Her ifade bir hedefle ilgilidir. Bir ifadeyi kullanırken, ifadedeki hedefi gerçekte bir varlıkla eşleştirmeniz gerekir. İfade hedefi varlıkla eşleşiyorsa ifade geçerli olur. Bir hedefin belirli bir öğeyle eşleşip eşleşmediğini belirlemeye ilişkin kurallar şunlardır:
Web sitesi hedefleri
Bir web sitesi için site şeması, ana makine ve bağlantı noktası tam olarak eşleşmelidir. HTTP ve HTTPS için varsayılan bağlantı noktaları (sırasıyla 80 ve 443) örtülü olarak kabul edilir. Bir ifade hedefi http://www.example.com:80'i anlatıyorsa http://www.example.com web sitesi bir eşleşme olarak kabul edilir.
Örnek
Aşağıdaki ifade hedefi göz önüne alındığında,
"target": { "namespace": "web", "site": "https://www.google.com" }
Aşağıdaki URI'ler eşleşecektir :
- 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/
Aşağıdaki URL'ler EŞLEŞMEZ:
- http://www.google.com/ (Yanlış şema)
- https://google.com/ (Ana makine adı eşleşmiyor)
- https://www.google.com:444/ (Bağlantı noktası eşleşmiyor)
Uygulama hedefleri
Bir uygulama için hedefin sertifika karması ve paket adı, uygulamayla tam olarak eşleşmelidir.