Przekazywanie informacji do zaufanej aktywności internetowej przy użyciu parametrów zapytania

Podczas korzystania z zaufanej aktywności internetowej w swoich aplikacjach programiści mogą być zmuszeni do przekazywania informacji z natywną część aplikacji w progresywnej aplikacji internetowej (PWA).

Częstym zastosowaniem tego rozwiązania jest implementacja niestandardowych segmentacji analityki w celu pomiaru liczby instalacji. i sesje rozpoczęte za pomocą Zaufanej aktywności internetowej. Do adresu URL uruchamiania można dodać parametry zapytania aby wdrożyć tę funkcję.

Zmiana początkowego URL-a

Czy parametr przekazywany do aplikacji PWA pozostanie taki sam wśród użytkowników można dołączyć go bezpośrednio do adresu URL uruchomienia. Przykładem tego wykorzystania jest gdy deweloperzy chcą mierzyć liczbę sesji nawigacji utworzonych w Zaufanej sieci. Aktywność.

Korzystanie z folii bąbelkowej

Bubblewrap to narzędzie, które pomaga programistom w tworzeniu projektu Aplikacja na Androida uruchamiająca istniejące PWA przy użyciu Trusted Web Aktywność. Zawiera zarówno bibliotekę, jak i interfejs wiersza poleceń (CLI).

Tworzenie nowego projektu

W przypadku używania interfejsu wiersza poleceń Bubblewrap projekt jest inicjowany przy użyciu polecenia init i tworzy domyślne wartości z pliku manifestu internetowego, podane jako parametr:

bubblewrap init --manifest https://material.money/manifest.json

Kreator użyje domyślnie parametru start_url z pliku manifestu internetowego i poprosi użytkowników o potwierdzenie Dzięki temu programiści mają możliwość dodania do adresu URL dodatkowych parametrów Progresywna aplikacja internetowa.

Wyświetlam dane wyjściowe interfejsu wiersza poleceń Bubblewrap

Modyfikowanie istniejącego projektu

Gdy Bubblewrap generuje projekt, informacje na temat tego projektu są zapisywane w pliku twa-manifest.json w folderze projektu. Aby zmodyfikować URL początkowy istniejącego projektu, programiści muszą zmodyfikować plik:

{
  ...
  "startUrl": "/?utm_source=trusted-web-activity",
  ...
}

Następnie ponownie wygeneruj pliki projektu i zastosuj nowy początkowy URL

bubblewrap update

Korzystanie z Android Studio

Jeśli używasz Androida Studio i domyślnego LauncherActivity, adres startUrl jest zdefiniowany jako metatag. w pliku AndroidManifest.xml, możemy zmienić URL używany do uruchamiania zaufanej aktywności internetowej przez jej modyfikację:

<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>

Dynamiczna zmiana początkowego adresu URL

Programiści mogą też tworzyć parametry, które zmieniają się w zależności od użytkowników lub sesji, instancji. W większości przypadków będzie to zbieranie informacji od strony Androida i przekazania jej do progresywnej aplikacji internetowej.

Krok 1. Utwórz niestandardową aktywność 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. Zmień 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 natywnej części aplikacji do internetowej części aplikacji można uzyskać za pomocą parametrów zapytania. Po dodaniu parametru do ciągu zapytania będzie on dostępny dla skryptów działają na stronie i może być również częścią odesłania, gdy użytkownicy przejdą na inną stronę lub zaimplementuje działanie związane z udostępnianiem.

Deweloperzy muszą wiedzieć o tych konsekwencjach i móc im zniwelować wpływ za pomocą link rel=noreferrer lub oczyścić adres URL za pomocą interfejsu API lokalizacji strony.

Protokół Zaufanej aktywności internetowej nie zapewnia obecnie mechanizmu wymiany wiadomości z natywną część aplikacji po wywołaniu komponentu internetowego.

Wierzymy, że istniejące lub nadchodzące interfejsy API platformy Web Platform umożliwią deweloperom większość przypadków użycia. Jeśli szukasz nowych lub nadchodzących interfejsów API, zajrzyj na stronę stanu nowych funkcji.