#
TWA
Using TWA, you can serve your PWA web application to users as an Android app. Learn more about about this here.
#
Setup
#
Install
We will be using Bubblewrap to generate our project. So first install it
npm i -g @bubblewrap/cli
#
Directory
Create a directory to init
mkdir ownstore-app-twa
#
Initialize
Now let's initialize our project with a manifest file. Using OwnStore's demo manifest as an example here.
bubblewrap init --manifest=https://own-store-demo.vercel.app/json/manifest.json
This command will install
- JDK 8 if not found. I had to say for this.
- Android SDK if not found. I had previously installed the SDK here:
/Users/faiyazshaikh/Library/Android/sdk
.
You will also be asked with a few questions.
#
Build
Once the project is initialized, we can build and generate our APK.
bubblewrap build
You can also provide ----skipPwaValidation
to bypass PWA validation checks.
#
Fingerprint
Next step is to generate SHA256 fingerprints. Run this command
keytool -printcert -jarfile app-release-signed.apk | grep SHA256
Copy the output.
#
Web asset linking
Create a file named /public/.well-known/assetlinks.json
in website project. This will be served as /.well-known/assetlinks.json
. Paste the following content in this JSON file.
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "app.own_store_demo.twa",
"sha256_cert_fingerprints": [
"<Paste SHA256 fingerprint here>"
]
}
}]
Go through this doc for more detailed instructions.