是否可以在 TWA 中有多个主域(主机名)?

Is it possible to have multiple main domains (hostName) in a TWA?

我有一个提供多种语言的网站,每种语言都 linked 到一个域(.com、.co.uk、.de 等),我正在使用 Bubblewrap 进行 TWA它。

我已经将.com设置为TWA的主要主机名,并且我已经授权了官方文档中指示的其他域。 (https://developers.google.com/web/android/trusted-web-activity/multi-origin).

效果很好,我可以毫无问题地在 TWA 中切换域(使用语言切换器),例如,如果我在 google 搜索结果中单击 .com link,或者在电子邮件中,然后它在 TWA 中打开得很好。

但是,如果我单击 .co.uk link,它会在网络浏览器中打开,而我希望它也能在 TWA 中打开。

是否可以允许多个主“主机名”,或者允许在 TWA 中自动识别和打开多个域?

是的,您需要将额外的域添加到 AndroidManifest.xml 中的 intent-filter

使用 twa-multi-domain 示例,应用程序中的主域是 www.google.comgithub.comwww.wikipedia.com 是额外的域。添加 2 个额外域后,AndroidManifest.xml 部分应该如下所示(第 13 至 16 行是新的):

            ...
            <activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity"
            android:label="@string/app_name">

            ...

            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE"/>
                <data android:scheme="https"
                    android:host="www.google.com"/>
                <data android:scheme="https"
                    android:host="github.com"/>
                <data android:scheme="https"
                    android:host="www.wikipedia.com"/>
            </intent-filter>
        </activity>
        ...