Aby korzystać z treści zaufanych w internecie w swoich aplikacjach, deweloperzy mogą potrzebować przekazywania informacji z części natywnej aplikacji do aplikacji internetowej (PWA).
Typowym zastosowaniem jest wdrożenie niestandardowych segmentacji analitycznych w celu pomiaru instalacji i sesji rozpoczętych z poziomu zaufanej aktywności w internecie. Aby to zaimplementować, do adresu URL uruchamiania można dodać parametry zapytania.
Modyfikowanie początkowego adresu URL
Jeśli parametr przekazywany do PWA będzie taki sam dla wszystkich użytkowników i w przypadku wszystkich uruchamianych aplikacji, można go dołączyć bezpośrednio do adresu URL uruchamiania. Przykładem takiego użycia jest sytuacja, gdy deweloperzy chcą mierzyć liczbę sesji nawigacji utworzonych z działania zaufanej przeglądarki.
Korzystanie z Bubblewrap
Bubblewrap to narzędzie, które pomaga deweloperom tworzyć projekty aplikacji na Androida, które uruchamiają istniejące aplikacje PWA za pomocą zaufanej aktywności internetowej. Zawiera on bibliotekę i interfejs wiersza poleceń (CLI).
Tworzenie nowego projektu
Gdy używasz Bubblewrap CLI, projekt jest inicjowany za pomocą polecenia init
i tworzy wartości domyślne z pliku manifestu internetowego, który jest podawany jako parametr:
bubblewrap init --manifest https://material.money/manifest.json
Kreator użyje domyślnie adresu start_url z pliku Web Manifest i poprosi użytkowników o potwierdzenie tej wartości. Da to deweloperom możliwość dodania dodatkowych parametrów do adresu URL używanego do uruchamiania progresywnej aplikacji internetowej.
Modyfikowanie dotychczasowego projektu
Gdy Bubblewrap generuje projekt, informacje o tym projekcie są przechowywane w pliku o nazwie twa-manifest.json
w folderze projektu. Aby zmodyfikować adres URL startowy w istniejącym projekcie, programiści muszą zmodyfikować plik:
{
...
"startUrl": "/?utm_source=trusted-web-activity",
...
}
Następnie ponownie wygeneruj pliki projektu i zastosuj nowy URL początkowy.
bubblewrap update
Korzystanie z Android Studio
Gdy używasz Android Studio i domyślnej klasy LauncherActivity, parametr startUrl jest zdefiniowany jako tag meta w pliku AndroidManifest.xml. Możesz zmienić adres URL używany do uruchamiania zaufanej aktywności internetowej, modyfikując go w ten sposób:
<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>
Modyfikowanie dynamicznie adresu URL początkowego
W innych przypadkach deweloperzy mogą chcieć utworzyć parametry, które zmieniają się w zależności od użytkowników lub sesji. W większości przypadków będzie to wymagało zebrania szczegółów z aplikacji na Androida i przekazania ich do progresywnej aplikacji internetowej.
Krok 1. Utwórz niestandardową klasę LauncherActivity
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();
}
}
Krok 2. Zmodyfikuj element AndroidManifest.xml
, aby używać niestandardowej aktywności LauncherActivity
<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>
Podsumowanie
Przekazywanie informacji z części natywnej do części internetowej aplikacji jest możliwe za pomocą parametrów zapytania. Gdy parametr zostanie dodany do ciągu zapytania, będzie dostępny dla skryptów działających na stronie. Może też być częścią odesłania, gdy użytkownicy przechodzą na inną stronę lub gdy deweloper wdraża działanie udostępniania.
Deweloperzy muszą zdawać sobie sprawę z tych konsekwencji i mogą je ograniczyć, używając atrybutu link rel=noreferrer lub oczyszczając adres URL za pomocą interfejsu page location API.
Protokół Trusted Web Activity nie zapewnia obecnie mechanizmu wymiany wiadomości z rodzinną częścią aplikacji po wywołaniu części internetowej.
Uważamy, że istniejące lub nadchodzące interfejsy API Web Platform umożliwiają większość zastosowań potrzebnych deweloperom. Jeśli szukasz nowych lub nadchodzących interfejsów API sieci Web, zajrzyj na stronę z informacjami o nowych możliwościach.