Это возможно сделать. В качестве примера предположим, что вы разрабатываете 2 приложения:
И, поскольку эти приложения будут разными TWA, это также означает, что у вас будет другое имя пакета для каждого из них:
Файл assetlinks.json должен быть доступен по адресу https://example.com/.well-known/assetlinks.json и должен содержать список обоих приложений:
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : { "namespace": "android_app", "package_name": "com.example.app1",
"sha256_cert_fingerprints": ["<APP_1_FINGERPRINT>"] }
},
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : { "namespace": "android_app", "package_name": "com.example.app2",
"sha256_cert_fingerprints": ["<APP_2_FINGERPRINT>"] }
}
]
Каждое приложение будет иметь свое собственное объявление asset_statements, связывающее приложение с авторизованным источником:
[{ "relation": ["delegate_permission/common.handle_all_urls"],
"target": {"namespace": "web", "site": "https://example.com"}}]
Несколько вещей, о которых следует знать:
- Если откроется Приложение 1 https://example.com/app1. Но если пользователь перейдет к https://example.com/app2,, они останутся в полноэкранном режиме. То же самое верно для Приложения 2, переходящего к / app1.
- Приложение 1 может запустить открытие TWA https://example.com/app2, и наоборот. Поэтому, если вы не доверяете всем PWA и соответствующим приложениям, такой подход не рекомендуется.
Если какой-либо из двух пунктов выше является проблемой, лучше использовать субдомены.