Uygulama bağlama özelliğini uygularken sistemin uygulamanızı web sitelerinizle ilişkilendirebildiğinden ve URL isteklerini beklediğiniz gibi işleyebildiğinden emin olmak için bağlama işlevini test etmeniz gerekir.
Mevcut bir ekstre dosyasını test etmek için Ekstre Listesi Oluşturucu ve Test Aracı'nı kullanabilirsiniz.
Aşağıdaki bölümlerde, Uygulama Bağlantıları doğrulamanızı manuel olarak nasıl test edeceğiniz açıklanmaktadır. İsterseniz doğrulamayı Play Derin Bağlantılar aracından veya Android Studio App Links Assistant'tan da test edebilirsiniz.
Doğrulanacak ana makinelerin listesini onaylama
Test sırasında, sistemin uygulamanız için doğrulayacağı ilişkili ana makine listesini onaylamanız gerekir. Karşılık gelen amaç filtreleri aşağıdaki özellikleri ve öğeleri içeren tüm URL'lerin bir listesini oluşturun:
android:scheme
özelliğihttp
veyahttps
değeriyle- Alan URL'si kalıbı içeren
android:host
özelliği android.intent.action.VIEW
işlem öğesiandroid.intent.category.BROWSABLE
kategori öğesi
Bu listeyi kullanarak her adlandırılmış ana makinede ve alt alanda bir Digital Asset Links JSON dosyası sağlandığını kontrol edin.
Digital Asset Links dosyalarını onaylama
Her web sitesi için Digital Asset Links API'yi kullanarak Digital Asset Links JSON dosyasının düzgün şekilde barındırıldığını ve tanımlandığını onaylayın:
https://digitalassetlinks.googleapis.com/v1/statements:list?
source.web.site=https://<var>domain.name</var>:<var>optional_port</var>&
relation=delegate_permission/common.handle_all_urls
Dinamik uygulama bağlantıları için ilişki uzantılarını da kontrol edebilirsiniz.
https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://www.example.com&relation=delegate_permission/common.handle_all_urls&return_relation_extensions=true
Bağlantı politikalarını kontrol etme
Test sürecinizin bir parçası olarak, bağlantı işleme ile ilgili mevcut sistem ayarlarını kontrol edebilirsiniz. Bağlı cihazınızdaki tüm uygulamalar için mevcut bağlantı işleme politikalarının listesini almak üzere aşağıdaki komutu kullanın:
adb shell dumpsys package domain-preferred-apps
Aşağıdaki komut da aynı işlemi yapar:
adb shell dumpsys package d
Komut, cihazda tanımlanan her kullanıcının veya profilin listesini döndürür. Bu liste, aşağıdaki biçimde bir başlıkla başlar:
App linkages for user 0:
Bu başlığın ardından, çıkışta söz konusu kullanıcının bağlantı işleme ayarlarını listelemek için aşağıdaki biçim kullanılır:
Package: com.android.vending
Domains: play.google.com market.android.com
Status: always : 200000002
Bu listede, söz konusu kullanıcı için hangi uygulamaların hangi alanlarla ilişkilendirildiği gösterilir:
Package
- Bir uygulamayı, manifest dosyasında belirtildiği şekilde paket adına göre tanımlar.Domains
- Bu uygulamanın web bağlantılarını işlediği ana makinelerin tam listesini, sınırlayıcı olarak boşluklar kullanarak gösterir.Status
- Bu uygulamanın mevcut bağlantı işleme ayarını gösterir. Doğrulamayı geçmiş ve manifestiandroid:autoVerify="true"
içeren bir uygulamanın durumualways
olarak gösterilir. Bu durumdan sonraki onaltılık sayı, Android sisteminin kullanıcının uygulama bağlantısı tercihlerine ilişkin kaydıyla ilgilidir. Bu değer, doğrulamanın başarılı olup olmadığını göstermez.
Test örneği
Uygulama bağlantısı doğrulamasının başarılı olması için sistemin, uygulama bağlantısı ölçütlerini karşılayan belirli bir intent filtresinde belirttiğiniz web sitelerinin her biriyle uygulamanızı doğrulayabilmesi gerekir. Aşağıdaki örnekte, birkaç uygulama bağlantısının tanımlandığı bir manifest yapılandırması gösterilmektedir:
<activity android:name=”MainActivity”>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:scheme="https" />
<data android:host="www.example.com" />
<data android:host="mobile.example.com" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:host="www.example2.com" />
</intent-filter>
</activity>
<activity android:name=”SecondActivity”>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:host="account.example.com" />
</intent-filter>
</activity>
<activity android:name=”ThirdActivity”>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="https" />
<data android:host="map.example.com" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="market" />
<data android:host="example.com" />
</intent-filter>
</activity>
</application>
Platformun önceki manifestten doğrulamaya çalışacağı ana makinelerin listesi:
www.example.com
mobile.example.com
www.example2.com
account.example.com
Platformun önceki manifest dosyasından doğrulamaya çalışmayacağı ana makinelerin listesi:
map.example.com (it does not have android.intent.category.BROWSABLE)
market://example.com (it does not have either an "http" or "https" scheme)
Bildirim listeleri hakkında daha fazla bilgi edinmek için Bildirim Listesi Oluşturma başlıklı makaleyi inceleyin.