Uygulamalarında Güvenilir Web Etkinliği kullanan geliştiricilerin, uygulamanın yerel kısmından Progresif Web Uygulamasına (PWA) bilgi aktarması gerekebilir.
Bunun yaygın bir kullanım alanı, 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 başlatma URL'sine sorgu parametreleri eklenebilir.
Başlangıç URL'sini değiştirme
PWA'ya iletilen parametre kullanıcılar genelinde aynı kalır ve başlatılırsa parametre doğrudan başlangıç 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.
Bubble wrap'u 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 library hem de Komut Satırı Arayüzü (KSA) içerir.
Yeni proje oluşturma
Bubblewrap KSA kullanılırken proje init
komutuyla başlatılır ve bir Web Manifest'inden parametre olarak sağlanan varsayılan değerler oluşturur:
bubblewrap init --manifest https://material.money/manifest.json
Sihirbaz varsayılan olarak Web Manifest'teki start_url parametresini kullanır ve kullanıcılardan değeri onaylamalarını ister. Bu da geliştiricilere, Progresif Web Uygulamasını başlatmak için kullanılan URL'ye ekstra parametreler ekleme olanağı sunar.
Mevcut bir projede değişiklik yapma
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 bir 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ıldığında, startUrl, AndroidManifest.xml içinde bir meta etiket olarak tanımlanır ve Güvenilir Web Etkinliği'ni başlatmak için kullanılan URL'yi değiştirerek değiştirebiliriz:
<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 bir şekilde değiştirme
Bazı durumlarda ise geliştiriciler, örneğin kullanıcılar veya oturumlar genelinde değişen parametreler oluşturmak isteyebilir. Çoğu durumda bu, Progresif Web Uygulaması'na iletmek için uygulamanın Android tarafında bilgi toplamayı 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: AndroidManifest.xml
öğesini, özel LauncherActivity'yi kullanacak şekilde 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ç
Bir uygulamanın yerel kısmından web bölümüne bilgi aktarımı, sorgu parametreleri kullanılarak gerçekleştirilebilir. Sorgu dizesine bir parametre eklendiğinde, sayfada çalışan komut dosyaları bu parametreye erişebilir. Ayrıca kullanıcılar farklı bir sayfaya gittiğinde veya geliştirici bir paylaşım işlemi uyguladığında yönlendirmenin de parçası olabilir.
Geliştiriciler bu sonuçların farkında olmalıdır ve link rel=noreferrer kullanarak veya page location API'yi kullanarak URL'yi temizleyerek bunların etkisini azaltabilir.
Güvenilir Web Etkinliği protokolü şu anda web bölümü çağrıldıktan sonra uygulamanın yerel kısmı ile mesaj alışverişi yapmak için bir mekanizma sağlamamaktadır.
Mevcut veya yakında kullanıma sunulacak Web Platformu API'lerinin, geliştiricilerin ihtiyaç duyduğu kullanım alanlarının çoğuna olanak sağlayacağını düşünüyoruz. Yeni veya yakında kullanıma sunulacak Web API'leri arıyorsanız Yeni Özellikler durum sayfasına göz atın.