İfadeler, Asset Links Spesifikasyonu'nda tanımlandığı gibi bir asıl üzerinde iyi bilinen bir konumdaki JSON kodlu ifade listesinde barındırılır. Bir ifade listesi bir veya daha fazla ifade içerir ve bir asılın yalnızca bir ifade listesi olabilir.
İfade listesi söz dizimi
İfade listesi söz dizimine bakın.
Ekstre listesi konumu
Beyan listesi, asıl türüne (beyanları yapan web sitesi veya uygulama) bağlı olarak iyi bilinen bir konumda barındırılır.
Web sitesi beyan listeleri
Web sitesinde, beyan listesi aşağıdaki adreste bulunan bir metin dosyasıdır:
scheme://domain/.well-known/assetlinks.json
.well-known klasör adındaki noktayı unutmayın.
Sunucudan gelen HTTP 200 dışındaki tüm yanıtlar hata olarak değerlendirilir ve boş bir ifade listesiyle sonuçlanır. HTTPS için, güvenilir kök listesiyle doğrulanamayan bir sertifika zinciri içermeyen tüm bağlantılar da boş bir ifade listesiyle sonuçlanır.
Örnek
Web sitesindeki örnek bir ifade listesi: http://example.digitalassetlinks.org/.well-known/assetlinks.json
Android uygulama beyanı listeleri
Android uygulamasında ifade listesi, web sitesi ifade dosyasıyla aynı söz dizimine sahip bir JSON snippet'idir. Ancak bu snippet, strings.xml dosyasına yerleştirilir ve manifest'te bir sonraki örnekte gösterildiği gibi 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 dosyasında:
<resources>
...
<string name="asset_statements">
... statement list ...
</string>
</resources>
Örnek
Uygulamayla konum paylaşımını destekleyen bir Android uygulaması için örnek bir res/values/strings.xml snippet'i (şu anda desteklenmeyen bir Android özelliği):
<resources>
...
<string name="asset_statements">
[{
\"relation\": [\"delegate_permission/common.share_location\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://example.com\"
}
}]
</string>
</resources>Hedef eşleştirme
Her ifade bir hedef hakkındadır. Bir ifadeyi kullandığınızda, ifadedeki hedefi gerçek hayattaki bir varlıkla eşleştirmeniz gerekir. İfade hedefi öğeyle eşleşirse ifade geçerli olur. Bir hedefin belirli bir öğeyle eşleşip eşleşmediğini belirleme kuralları şunlardır:
Web sitesi hedefleri
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 adresini açıklıyorsa http://www.example.com web sitesi eşleşme olarak kabul edilir.
Örnek
Aşağıdaki ifade hedefi verildiğinde
"target": {
"namespace": "web",
"site": "https://www.google.com"
}Aşağıdaki URI'ler EŞLEŞİR :
- 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 hedef sertifika karması ve paket adı, uygulamayla tam olarak eşleşmelidir.