105 lines
3.2 KiB
Markdown
105 lines
3.2 KiB
Markdown
# Digital Asset Links Configuration
|
|
|
|
This file enables Trusted Web Activity (TWA) verification for the Placebo.mk Android app.
|
|
|
|
## What is this?
|
|
|
|
Digital Asset Links allows your Android app to open without browser UI by proving you own both the website (`https://app.placebo.mk`) and the Android app (`mk.placebo.app`).
|
|
|
|
## Current Status
|
|
|
|
⚠️ **PLACEHOLDER** - The SHA256 fingerprint needs to be updated after PWABuilder generates your signing key.
|
|
|
|
## How to Update
|
|
|
|
### Step 1: Generate Android App with PWABuilder
|
|
|
|
1. Go to https://www.pwabuilder.com/
|
|
2. Enter your PWA URL: `https://app.placebo.mk`
|
|
3. Click "Package For Stores" → "Android"
|
|
4. Download the package
|
|
|
|
### Step 2: Get SHA256 Fingerprint
|
|
|
|
PWABuilder will provide the SHA256 fingerprint in the downloaded package. Look for:
|
|
- `assetlinks.json` file in the package
|
|
- Or in the PWABuilder dashboard under "Android Package Options"
|
|
|
|
The fingerprint looks like:
|
|
```
|
|
14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E3:6D:3A:AE:4E:9F:5F:E8:E3:91:A0:7E
|
|
```
|
|
|
|
### Step 3: Update assetlinks.json
|
|
|
|
Replace `PLACEHOLDER_SHA256_FINGERPRINT_FROM_PWABUILDER` in `assetlinks.json` with your actual fingerprint:
|
|
|
|
```json
|
|
{
|
|
"relation": ["delegate_permission/common.handle_all_urls"],
|
|
"target": {
|
|
"namespace": "android_app",
|
|
"package_name": "mk.placebo.app",
|
|
"sha256_cert_fingerprints": [
|
|
"14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E3:6D:3A:AE:4E:9F:5F:E8:E3:91:A0:7E"
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Step 4: Deploy Updated File
|
|
|
|
The file must be accessible at:
|
|
```
|
|
https://app.placebo.mk/.well-known/assetlinks.json
|
|
```
|
|
|
|
Nginx is already configured to serve this file (see `nginx.conf`).
|
|
|
|
### Step 5: Verify
|
|
|
|
Use Google's validator tool:
|
|
```bash
|
|
curl "https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://app.placebo.mk&relation=delegate_permission/common.handle_all_urls"
|
|
```
|
|
|
|
Or visit:
|
|
https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://app.placebo.mk
|
|
|
|
You should see your statement returned with `"debugString": "*** ERRORS parsing assetlinks.json: ..."` until you replace the placeholder.
|
|
|
|
## Troubleshooting
|
|
|
|
### File not accessible
|
|
- Check nginx configuration includes `.well-known` location
|
|
- Verify file permissions (should be readable)
|
|
- Test with: `curl https://app.placebo.mk/.well-known/assetlinks.json`
|
|
|
|
### TWA not opening properly
|
|
- Ensure SHA256 fingerprint matches your app's signing certificate
|
|
- Verify package name is exactly `mk.placebo.app`
|
|
- Check both production and debug fingerprints if testing locally
|
|
|
|
### Multiple Fingerprints
|
|
|
|
If you have both debug and release keys, add both:
|
|
```json
|
|
"sha256_cert_fingerprints": [
|
|
"14:6D:E9:... (release key)",
|
|
"AA:BB:CC:... (debug key)"
|
|
]
|
|
```
|
|
|
|
## Important Notes
|
|
|
|
- This file must be served with `Content-Type: application/json`
|
|
- The file must be accessible via HTTPS (HTTP will fail)
|
|
- Changes take effect immediately (no cache)
|
|
- Keep your signing key secure - anyone with it can create apps verified for your domain
|
|
|
|
## Resources
|
|
|
|
- [Digital Asset Links Documentation](https://developers.google.com/digital-asset-links/v1/getting-started)
|
|
- [TWA Guide](https://developers.google.com/web/android/trusted-web-activity)
|
|
- [PWABuilder Documentation](https://docs.pwabuilder.com/)
|