Geliştiricilerin, uygulamalarında Güvenilir Web Etkinliği'ni kullanırken uygulamanın yerel kısmından Progresif Web Uygulaması'na (PWA) bilgi aktarması gerekebilir.
Bunun yaygın olarak kullanıldığı bir durum, Güvenilir Web Etkinliği'nden başlatılan yüklemeleri ve oturumları ölçmek için özel analiz segmentasyonları uygulamaktır. Bunu uygulamak için lansman URL'sine sorgu parametreleri eklenebilir.
Başlangıç URL'sini değiştirme
PWA'ya iletilen parametre, kullanıcılar ve lansmanlar arasında aynı kalacaksa parametre doğrudan lansman URL'sine eklenebilir. Bu kullanıma örnek olarak, geliştiricilerin Güvenilir Web Etkinliği'nden oluşturulan gezinme oturumlarının sayısını ölçmek istemesi verilebilir.
Bubblewrap'ı kullanma
Bubblewrap, geliştiricilerin Güvenilir Web Etkinliği kullanarak mevcut PWA'ları başlatan bir Android uygulaması için Proje oluşturmasına yardımcı olmak amacıyla oluşturulmuş bir araçtır. Hem bir kitaplık hem de bir Komut Satırı Arayüzü (KSA) içerir.
Yeni proje oluşturma
Bubblewrap CLI kullanıldığında, proje init
komutuyla başlatılır ve parametre olarak sağlanan bir web manifestinden varsayılan değerler oluşturur:
bubblewrap init --manifest https://material.money/manifest.json
Sihirbaz, varsayılan olarak web manifestindeki start_url değerini kullanır ve kullanıcılardan bu değeri onaylamalarını ister. Böylece geliştiriciler, Progressive Web Uygulaması'nı başlatmak için kullanılan URL'ye ek parametreler ekleyebilir.
Mevcut bir projeyi değiştirme
Bubblewrap bir proje oluşturduğunda, söz konusu projeyle ilgili bilgiler proje klasöründeki twa-manifest.json
adlı bir dosyada saklanır. Mevcut projenin başlangıç URL'sini değiştirmek için geliştiricilerin dosyayı değiştirmesi gerekir:
{
...
"startUrl": "/?utm_source=trusted-web-activity",
...
}
Ardından, proje dosyalarını yeniden oluşturun ve yeni başlangıç URL'sini uygulayın.
bubblewrap update
Android Studio'yu kullanma
Android Studio ve varsayılan LauncherActivity kullanılırken startUrl, AndroidManifest.xml içinde bir meta etiket olarak tanımlanır. Güvenilir Web Etkinliği'ni başlatmak için kullanılan URL'yi değiştirmek isterseniz:
<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
android:label="@string/app_name">
...
<meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
android:value="https://svgomg.firebaseapp.com/?utm_source=trusted-web-activity" />
...
</activity>
Başlangıç URL'sini dinamik olarak değiştirme
Diğer durumlarda, geliştiriciler örneğin kullanıcılar veya oturumlar arasında değişen parametreler oluşturmak isteyebilir. Çoğu durumda bu işlem, uygulamanın Android tarafındaki ayrıntıları toplayarak Progresif Web Uygulaması'na iletmeyi içerir.
1. adım: Özel bir LauncherActivity oluşturun
public class CustomQueryStringLauncherActivity extends LauncherActivity {
private String getDynamicParameterValue() {
return String.valueOf((int)(Math.random() * 1000));
}
@Override
protected Uri getLaunchingUrl() {
// Get the original launch Url.
Uri uri = super.getLaunchingUrl();
// Get the value we want to use for the parameter value
String customParameterValue = getDynamicParameterValue();
// Append the extra parameter to the launch Url
return uri
.buildUpon()
.appendQueryParameter("my_parameter", customParameterValue)
.build();
}
}
2. adım: Özel LauncherActivity'yi kullanacak şekilde AndroidManifest.xml
öğesini değiştirin
<activity android:name="com.myapp.CustomQueryStringLauncherActivity"
android:label="@string/app_name">
...
<meta-data android:name="android.support.customtabs.trusted.DEFAULT_URL"
android:value="https://squoosh.app/?utm_source=trusted-web-activity" />
...
</activity>
Sonuç
Sorgu parametreleri kullanılarak, yerel bölümden bir uygulamanın web bölümüne bilgi aktarılabilir. Sorgu dizesine eklenen parametreler, sayfa üzerinde çalışan komut dosyalarına erişilebilir. Ayrıca, kullanıcılar farklı bir sayfaya gittiğinde veya geliştirici bir paylaşım işlemi uyguladığında yönlendirmenin bir parçası da olabilir.
Geliştiriciler bu sonuçların farkında olmalı ve link rel=noreferrer kullanarak veya page location API'yi kullanarak URL'yi temizleyerek bu sonuçları azaltabilir.
Güvenilir Web Etkinliği protokolü, web parçası çağrıldıktan sonra uygulamanın yerel kısmıyla mesaj alışverişi yapmak için şu anda bir mekanizma sağlamamaktadır.
Mevcut veya yakında kullanıma sunulacak Web Platformu API'lerinin, geliştiricilerin ihtiyaç duyduğu çoğu kullanım alanını desteklediğini düşünüyoruz. Yeni veya kullanıma sunulacak web API'leri arıyorsanız Yeni Özellikler durum sayfasına göz atın.