신뢰할 수 있는 웹 활동은 PWA와 같은 웹 앱 콘텐츠를 맞춤 탭 기반의 프로토콜을 사용하는 Android 앱
신뢰할 수 있는 웹 활동은 열려 있는 출처를 다음을 사용하여 검증해야 합니다. 디지털 애셋 링크.
사용자가 검증된 출처를 벗어나면 맞춤 탭 UI가 표시됩니다. 맞춤설정 페이지의 URL 표시줄은 Tab 키를 사용하면 사용자가 현재 애플리케이션 외부의 도메인을 탐색하고 있음을 알리는 동시에 사용자에게 확인된 출처로 빠르게 돌아갈 수 있는 X 버튼 제공
하지만 웹 앱이 여러 출처를 아우르는 환경을 만드는 것도 일반적입니다. 쇼핑 애플리케이션은 www.example.com에서 기본 환경을 제공하는 쇼핑 애플리케이션이고, 결제는 checkout.example.com에서 호스팅됩니다.
이 경우 사용자가 뿐만 아니라 상단 표시줄 때문에 사용자가 애플리케이션을 떠났다고 생각할 수도 있기 때문입니다. 결제를 중단합니다
신뢰할 수 있는 웹 활동을 통해 개발자는 여러 출처를 검증할 수 있으며 사용자는 전체 화면으로 표시됩니다. 기본 도메인과 마찬가지로 개발자는 각 출처를 제어할 수 있습니다
여러 출처에 대한 유효성 검사 설정
주요 출처에서와 마찬가지로 디지털 애셋 링크와 각 도메인을 통해 검증이 이루어집니다. 자체 assetlinks.json 파일이 있어야 합니다.
각 출처에 assetlinks 파일 추가
www.example.com 및 checkout.example.com의 예에서는 다음과 같습니다.
https://www.example.com/.well-known/assetlinks.json
https://checkout.example.com/.well-known/assetlinks.json
각 도메인이 동일한 Android 애플리케이션에 연결되므로 assetlinks.json
파일은
완전히 똑같아 보일 수 있습니다.
Android 애플리케이션의 패키지 이름이 com.example.twa
이라고 가정하면 둘 다 assetlink.json
파일에는 다음과 유사한 내용이 포함됩니다.
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": ["..."]}
}]
Android 애플리케이션에 여러 출처 추가
Android 애플리케이션에서 asset_statements
선언은
검증이 필요한 출처:
<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>
LauncherActivity에 출처 추가
기본 LauncherActivity 사용
android-browser-helper
지원 라이브러리의 일부인 LauncherActivity
는 Android 프로젝트를 구성하여 검증할 여러 출처를 추가하는 방법을 제공합니다.
먼저 res/values/strings.xml
파일에 string-array
요소를 추가합니다. 추가 URL은 각각
유효성 검사는 item
하위 요소 내에 있습니다.
...
<string-array name="additional_trusted_origins">
<item>https://www.google.com</item>
</string-array>
...
그 다음, 새 meta-data
태그를
AndroidManifest.xml
내의 LauncherActivity
:
...
<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>
...
맞춤 LauncherActivity 사용
사용자 지정 코드를 사용하여 신뢰할 수 있는 웹 활동을 실행하는 경우
신뢰할 수 있는 웹 활동을 실행하도록 인텐트를 빌드할 때 setAdditionalTrustedOrigins
를 호출합니다.
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);
}
결론
이 단계를 통해 이제 신뢰할 수 있는 웹 활동이 여러 출처를 지원할 준비가 되었습니다. android-browser-helper에는 여러 출처의 신뢰할 수 있는 웹 활동을 위한 샘플 애플리케이션이 있습니다. 제조업체 확인하시기 바랍니다.
문제 해결
디지털 애셋 링크 설정에는 몇 가지 움직이는 부분이 있습니다. 애플리케이션에 여전히 상단에 맞춤 탭 막대가 표시되면 구성에 문제가 있을 수 있습니다.
신뢰할 수 있는 웹 활동 빠른 시작 가이드에는 디지털 애셋 링크 문제를 디버그할 수 있습니다.
Digital Asset Links를 디버그하는 데 도움이 되는 놀라운 Peter's Asset Link Tool도 있습니다. 기기에 설치된 애플리케이션..