Przykład: udostępnianie danych logowania w wielu witrynach i w wielu aplikacjach na Androida

Aby skonfigurować udostępnianie danych logowania w przypadku wielu witryn i aplikacji na Androida:

  • Wyznacz domenę podstawową: wybierz jeden URL jako główny punkt odniesienia dla linków.
  • Utwórz pliki (assetlinks.json):
    • Domena podstawowa: w domenie podstawowej utwórz plik assetlinks.json zawierający dane logowania do wszystkich domen, w których udostępniane są dane logowania.
    • Inne domeny: w każdej z pozostałych domen utwórz plik assetlinks.json, który będzie się łączyć z domeną podstawową.
  • Skonfiguruj linkowanie zasobów cyfrowych w pliku manifestu każdej aplikacji: skonfiguruj każdą aplikację tak, aby łączyła się z pliku assetlinks.json w głównej domenie.

W poniższym przykładzie wskazaliśmy example.com jako domenę podstawową, a wszystkie pozostałe domeny na tej liście mają wspólne dane logowania z domeną example.com i między sobą.

2 aplikacje o tych nazwach pakietów mają też wspólne poświadczenia w przypadku wszystkich stron internetowych i między nimi:

  • com.example.android.myapplication
  • com.example.appname

Zanim skonfigurujesz udostępnianie danych logowania, musisz spełnić wymagania wstępne.

Aby zadeklarować udostępnianie danych logowania w tych witrynach i aplikacjach na Androida:

  1. Utwórz plik assetlinks.json z tą zawartością:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.com"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.org"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://example.net"
        }
      },
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "https://myownpersonaldomain.com"
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.android.myapplication",
          "sha256_cert_fingerprints" : [ "AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00"
          ]
        }
      },
      {
        "relation" : [
          "delegate_permission/common.get_login_creds"
        ],
        "target" : {
          "namespace" : "android_app",
          "package_name" : "com.example.appname",
          "sha256_cert_fingerprints" : [ "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"
          ]
        }
      }
    ]
    
  2. Umieść plik JSON protokołu Digital Asset Links w odpowiedniej znanej lokalizacji w domenie głównej, w tym przypadku: https://example.com/.well-known/assetlinks.json.

  3. Utwórz kolejny plik assetlinks.json z tą zawartością:

    [
      {
        "relation": ["delegate_permission/common.get_login_creds"],
        "target": {
          "namespace": "web",
          "site": "example.com"
        }
      }
    ]
    
  4. Hostuj kopie tego pliku JSON protokołu Digital Asset Links w tej lokalizacji w innych domenach:

    • example.org/.well-known/assetlinks.json
    • example.net/.well-known/assetlinks.json
    • mypersonaldomain.com/.well-known/assetlinks.json
  5. Dodaj ten wiersz do obu plików manifestu aplikacji na Androida w <application>:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  6. Skonfiguruj linkowanie zasobów cyfrowych w manifeście, deklarując powiązanie w aplikacji na Androida. Dodaj obiekt, który określa pliki assetlinks.json do wczytania. W tym przypadku:

    <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://example.com/.well-known/assetlinks.json\"
    }]
    </string>
    

Po wykonaniu tych czynności uda Ci się skonfigurować płynne udostępnianie danych logowania w wielu witrynach i aplikacjach na Androida.