Las Actividades web de confianza son una nueva forma de integrar el contenido de tu app web, como tu AWP, con tu app para Android con un protocolo basado en pestañas personalizadas.
Una actividad web de confianza necesita que los orígenes que se abran se validen con Vínculos de recursos digitales, para mostrar el contenido en pantalla completa.
Cuando un usuario navega fuera del origen validado, se muestra la IU de la pestaña personalizada. La barra de URL en la pestaña Personalizar La tecla Tab les indica a los usuarios que ahora están navegando en un dominio fuera de la aplicación y, al mismo tiempo, proporcionar al usuario un botón X que le permite volver rápidamente al origen validado
Pero también es común que las apps web creen experiencias que abarcan varios orígenes. sería una aplicación de compras con la experiencia principal en www.example.com, mientras que la confirmación de la compra se aloja en checkout.example.com.
En casos como ese, no se recomienda mostrar las pestañas personalizadas, no solo porque el usuario se encuentra en misma aplicación, sino también porque la barra superior podría hacer pensar al usuario que dejó la aplicación. y abandonan el proceso de pago.
Trusted Web Activities permite que los desarrolladores validen múltiples orígenes, y el usuario permanecerá en pantalla completa cuando navegue por esos orígenes. Al igual que con el dominio principal, el desarrollador debe ser ser capaz de controlar cada origen validado.
Configura la validación para varios orígenes
Al igual que en el origen principal, la validación se realiza con Vínculos de recursos digitales y cada dominio se validados deben tener su propio archivo assetlinks.json.
Agrega un archivo assetlinks a cada origen
En nuestro ejemplo con www.example.com y checkout.example.com, tendríamos lo siguiente:
https://www.example.com/.well-known/assetlinks.json
https://checkout.example.com/.well-known/assetlinks.json
Como cada dominio se conecta a la misma aplicación para Android, los archivos assetlinks.json
verse exactamente igual.
Si el nombre del paquete de la aplicación para Android es com.example.twa
, ambos assetlink.json
archivos contienen algo similar a lo siguiente:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example",
"sha256_cert_fingerprints": ["..."]}
}]
Agrega varios orígenes a la aplicación para Android
En la aplicación para Android, la declaración asset_statements
debe actualizarse para que contenga todos los
orígenes que deben validarse:
<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>
Cómo agregar orígenes adicionales a LauncherActivity
Cómo usar la LauncherActivity predeterminada
El LauncherActivity
que forma parte de la biblioteca de compatibilidad android-browser-helper
proporciona una forma de agregar varios orígenes que se validarán mediante la configuración del proyecto de Android.
Primero, agrega un elemento string-array
al archivo res/values/strings.xml
. Cada URL adicional que se
validados estarán dentro de un subelemento item
:
...
<string-array name="additional_trusted_origins">
<item>https://www.google.com</item>
</string-array>
...
A continuación, agrega una nueva etiqueta meta-data
dentro del elemento de actividad existente que hace referencia al
LauncherActivity
, dentro de 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>
...
Cómo usar una LauncherActivity personalizada
Cuando se usa código personalizado para iniciar una actividad web de confianza, se pueden agregar orígenes adicionales
Llama a setAdditionalTrustedOrigins
cuando se compila el intent para iniciar Trusted Web Activity:
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);
}
Conclusión
Con esos pasos, Trusted Web Activity ahora está lista para admitir varios orígenes. android-browser-helper tiene una aplicación de ejemplo para Trusted Web Activities de múltiples orígenes. Marca asegúrate de revisarlo.
Soluciona problemas
La configuración de Vínculos de recursos digitales tiene algunas partes móviles. Si la aplicación todavía muestra barra de pestañas personalizadas en la parte superior, es probable que haya algún problema con la configuración.
La guía de inicio rápido de Actividad web de confianza tiene una excelente sección de solución de problemas sobre cómo depurar problemas de Vínculos de recursos digitales.
También está disponible la increíble Herramienta de Vínculos de recursos digitales de Peter, que ayuda a depurar Vínculos de recursos digitales. en las aplicaciones instaladas en el dispositivo.