I'm currently using the TwaLauncher class to launch a Trusted Web Activity from my app using code like the following:
val launcher = TwaLauncher(context)
launcher.launch(Uri.parse(URL))
This launches a TWA from within a broader native app.
However the performance is a little slow, i'm seeing a lot of information about pre warming / pre caching with Chrome Custom Tabs (which TWA is based on) but no documentation or information on how too achieve this with TwaLauncher.