Serve assetlinks su edge/Rails, documenta overflow Hetzner e bumpa l'AAB a 28 con simboli nativi per Play. Co-authored-by: Cursor <cursoragent@cursor.com>
42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
# Android App Links / Digital Asset Links
|
||
|
||
Play Console verifica `https://www.matchlivetv.it/.well-known/assetlinks.json`.
|
||
|
||
## File
|
||
|
||
- Servito da **edge** (nginx): `infra/nginx-edge/well-known/assetlinks.json`
|
||
- Specchio in Rails public: `backend/public/.well-known/assetlinks.json`
|
||
|
||
Package: `com.matchlivetv.match_live_tv`
|
||
Path App Links: `https://www.matchlivetv.it/join…` (`pathPrefix="/join"`)
|
||
|
||
Nel JSON ci sono:
|
||
|
||
1. SHA-256 del **upload key** (`native/android/keystore/matchlivetv-upload.jks`)
|
||
2. SHA-256 del certificato **App signing** di Play (da Play Console → Integrità dell’app)
|
||
|
||
Relazioni richieste da Play per la condivisione credenziali:
|
||
|
||
- `delegate_permission/common.handle_all_urls`
|
||
- `delegate_permission/common.get_login_creds`
|
||
|
||
Se Play rigenera il JSON, sostituisci `infra/nginx-edge/well-known/assetlinks.json` (e lo specchio in `backend/public/.well-known/`) e ricarica edge.
|
||
## Deploy edge (senza rebuild Rails)
|
||
|
||
Sul server:
|
||
|
||
```bash
|
||
cd /opt/matchlivetv/infra
|
||
# dopo git pull del repo
|
||
docker compose -f docker-compose.prod.yml --env-file .env up -d edge
|
||
curl -sS -D- https://www.matchlivetv.it/.well-known/assetlinks.json | head
|
||
```
|
||
|
||
Verifica Google:
|
||
|
||
```bash
|
||
curl -sS "https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://www.matchlivetv.it&relation=delegate_permission/common.handle_all_urls"
|
||
```
|
||
|
||
Poi in Play Console → Link diretti → ripeti i controlli dominio.
|