Güvenilir Web Etkinlikleri, PWA'nız gibi web uygulaması içeriğinizi Özel Sekmelere dayalı bir protokol kullanarak Android uygulamanızla entegre etmenin yeni bir yoludur.
Güvenilir Web Etkinliği'nin, içeriği tam ekranda göstermesi için Dijital Öğe Bağlantıları kullanılarak doğrulanması amacıyla kaynaklarının açılması gerekir.
Kullanıcı doğrulanmış kaynaktan ayrıldığında Özel Sekme kullanıcı arayüzü gösterilir. Özel Sekme'deki URL çubuğu, kullanıcılara artık uygulamanın dışında bir alanda gezindiklerini söyler ve kullanıcıya doğrulanmış kaynağa hızlıca dönmelerini sağlayan bir X düğmesi sağlar.
Ancak web uygulamalarının birden fazla kaynağa yayılan deneyimler oluşturması da yaygındır. Örneğin, ana deneyim www.example.com adresindeyken ödeme akışı checkout.example.com adresinde barındırılan bir alışveriş uygulaması olabilir.
Bu gibi durumlarda, Özel Sekmeler'in gösterilmesi istenmez. Bunun nedeni, yalnızca kullanıcının aynı uygulamada olması değil, aynı zamanda üst çubuğun kullanıcının uygulamayı terk ettiğini düşünmesine ve ödeme işlemini iptal etmesine neden olabilmesidir.
Güvenilir Web Etkinlikleri, geliştiricilerin birden fazla kaynağı doğrulamasına olanak tanır. Kullanıcı, bu kaynaklar arasında gezinirken tam ekranda kalır. Ana alan adında olduğu gibi, geliştiricinin doğrulanmış her kaynağı kontrol edebilmesi gerekir.
Birden fazla kaynak için doğrulama ayarlama
Ana kaynakta olduğu gibi, doğrulama Digital Asset Links aracılığıyla yapılır ve doğrulanacak her alanın kendi assetlinks.json dosyasının olması gerekir.
Her kaynağa bir assetlinks dosyası ekleyin
www.example.com ve odeme.example.com içeren örneğimizde:
https://www.example.com/.well-known/assetlinks.json
https://checkout.example.com/.well-known/assetlinks.json
Her alan aynı Android uygulamasına bağlandığından assetlinks.json
dosyaları tamamen aynı görünür.
Android uygulamasının paket adının com.example.twa
olduğunu varsayarsak her iki assetlink.json
dosyası da aşağıdakine benzer bir içerik barındırır:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": ["..."]}
}]
Android uygulamasına birden fazla kaynak ekleme
Android uygulamasında, asset_statements
beyanının doğrulanması gereken tüm kaynakları içerecek şekilde güncellenmesi gerekir:
<string name="asset_statements">
[{
\"relation\": [\"delegate_permission/common.handle_all_urls\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://www.example.com\"
}
}],
[{
\"relation\": [\"delegate_permission/common.handle_all_urls\"],
\"target\": {
\"namespace\": \"web\",
\"site\": \"https://checkout.example.com\"
}
}],
</string>
LauncherActivity'ye ek kaynaklar ekleme
Varsayılan LauncherActivity'yi kullanma
android-browser-helper
destek kitaplığının bir parçası olan LauncherActivity
, Android projesini yapılandırarak doğrulanacak birden fazla kaynak ekleme olanağı sunar.
Öncelikle res/values/strings.xml
dosyasına bir string-array
öğesi ekleyin. Doğrulanacak her ek URL, bir item
alt öğesinin içinde yer alır:
...
<string-array name="additional_trusted_origins">
<item>https://www.google.com</item>
</string-array>
...
Ardından, mevcut etkinlik öğesinin içine AndroidManifest.xml
içinde LauncherActivity
'a atıfta bulunan yeni bir meta-data
etiketi ekleyin:
...
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
android:label="@string/app_name">
<meta-data
android:name="android.support.customtabs.trusted.ADDITIONAL_TRUSTED_ORIGINS"
android:resource="@array/additional_trusted_origins" />
...
</activity>
...
Özel LauncherActivity kullanma
Güvenilir Web Etkinliği'ni başlatmak için özel kod kullanırken, Güvenilir Web Etkinliği'ni başlatmak üzere Intent'i oluştururken setAdditionalTrustedOrigins
çağrısı yaparak ek kaynaklar eklenebilir:
public void launcherWithMultipleOrigins(View view) {
List<String> origins = Arrays.asList(
"https://checkout.example.com/"
);
TrustedWebActivityIntentBuilder builder = new TrustedWebActivityIntentBuilder(LAUNCH_URI)
.setAdditionalTrustedOrigins(origins);
new TwaLauncher(this).launch(builder, null, null);
}
Sonuç
Bu adımlarla Güvenilir Web Etkinliği artık birden fazla kaynağı desteklemeye hazırdır. android-browser-helper, birden fazla kaynaklı Güvenilir Web Etkinlikleri için bir örnek uygulama içerir. Kontrol etmeyi unutmayın.
Sorun giderme
Digital Asset Links'i ayarlamak için birkaç işlem yapmanız gerekir. Uygulamanın üst kısmında Özel Sekmeler çubuğu hâlâ gösteriliyorsa yapılandırmayla ilgili bir sorun olabilir.
Güvenilir Web Etkinliği Hızlı Başlangıç Kılavuzu'nda, Dijital Öğe Bağlantısı sorunlarının nasıl hata ayıklanacağına dair mükemmel bir sorun giderme bölümü yer alır.
Ayrıca, cihaza yüklenen uygulamalarda Digital Asset Links hata ayıklamanıza yardımcı olan muhteşem Peter's Asset Link Tool aracı da vardır.