Zaufane działania internetowe pochodzące z wielu źródeł

Zaufane działania internetowe to nowy sposób na integrowanie treści aplikacji internetowych, takich jak PWA, do aplikacji na Androida za pomocą protokołu opartego na kartach niestandardowych.

Nawigacja ff-origin

Zaufana aktywność internetowa wymaga otwierania otwieranych źródeł, aby zweryfikować je za pomocą linki do zasobów cyfrowych, które pozwalają wyświetlić treści na pełnym ekranie.

Gdy użytkownik opuści zweryfikowany punkt początkowy, wyświetli się interfejs karty niestandardowej. Pasek adresu URL w niestandardowym polu Tab informuje użytkowników, że teraz nawigują w domenie poza aplikacją, a także udostępnienie użytkownikowi przycisku X, który umożliwia mu szybki powrót do zweryfikowanego punktu początkowego.

Aplikacje internetowe często tworzą jednak rozwiązania, które obejmują wiele źródeł – przykład to aplikacja zakupowa, której główną funkcją jest www.example.com, natomiast proces płatności przepływ jest hostowany na checkout.example.com.

W takich przypadkach wyświetlanie kart niestandardowych jest niepożądane – nie tylko dlatego, że użytkownik ta sama aplikacja, ale także dlatego, że górny pasek może sprawić, że użytkownik pomyśli, że opuścił aplikację. i porzucił proces płatności.

Zaufane działania internetowe pozwalają programistom sprawdzić wiele źródeł, a użytkownik pozostaje na pełnym ekranie podczas przechodzenia między tymi punktami. Tak jak w przypadku domeny głównej, deweloper musi: i może kontrolować każde zweryfikowane źródło.

Konfigurowanie weryfikacji wielu źródeł

Tak jak w przypadku głównego źródła weryfikacja odbywa się za pomocą linków do zasobów cyfrowych i każdej domeny, która ma zostać musi mieć własny plik assetlinks.json.

W naszym przykładzie z adresami www.example.com i checkout.example.com wyglądałyby one:

  • https://www.example.com/.well-known/assetlinks.json
  • https://checkout.example.com/.well-known/assetlinks.json

Każda domena jest połączona z tą samą aplikacją na Androida, więc pliki assetlinks.json wyglądają dokładnie tak samo.

Przy założeniu, że nazwa pakietu aplikacji na Androida to com.example.twa (zarówno assetlink.json), będzie zawierać plik podobny do tego:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
  "namespace": "android_app",
  "package_name": "com.example",
   "sha256_cert_fingerprints": ["..."]}
}]

Dodawanie wielu źródeł do aplikacji na Androida

W aplikacji na Androida należy zaktualizować deklarację asset_statements, tak aby zawierała wszystkie źródła, które muszą zostać zweryfikowane:

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

Dodaj dodatkowe źródła do LauncherActivity

Korzystanie z domyślnego LauncherActivity

LauncherActivity, które jest częścią biblioteki pomocy android-browser-helper zapewnia sposób dodawania wielu źródeł do zweryfikowania przez skonfigurowanie projektu na Androida.

Najpierw dodaj element string-array do pliku res/values/strings.xml. Każdy dodatkowy URL, który zostanie będzie znajdować się w podelementu item:

...
<string-array name="additional_trusted_origins">
    <item>https://www.google.com</item>
</string-array>
...

Następnie dodaj nowy tag meta-data w istniejącym elemencie aktywności, który odwołuje się do LauncherActivity, wewnątrz: AndroidManifest.xml:

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

Korzystanie z niestandardowej aktywności LauncherActivity

Jeśli korzystasz z niestandardowego kodu do uruchamiania zaufanej aktywności internetowej, dodatkowe źródła można osiągnąć przez wywołanie metody setAdditionalTrustedOrigins podczas tworzenia intencji do uruchomienia zaufanej aktywności internetowej:

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);
}

Podsumowanie

Po wykonaniu tych czynności zaufana aktywność internetowa jest już gotowa do obsługi wielu źródeł. android-browser-helper ma przykładową aplikację do zaufanych aktywności internetowych z wielu źródeł. Marka sprawdź to.

Rozwiązywanie problemów

Konfiguracja linków do zasobów cyfrowych składa się z kilku ruchomych elementów. Jeśli w aplikacji nadal jest wyświetlany komunikat kart niestandardowych u góry, prawdopodobnie coś jest nie tak z konfiguracją.

Krótki przewodnik dotyczący Zaufanej aktywności w internecie zawiera doskonałą sekcję rozwiązywania problemów z instrukcjami, jak debugować problemy z Digital Asset Link.

Dostępne jest też niesamowite narzędzie do udostępniania zasobów przez Piotra, które ułatwia debugowanie linków do zasobów cyfrowych. w aplikacjach zainstalowanych na urządzeniu.