Validatore di Universal Links e App Links

Incolla il tuo apple-app-site-association o assetlinks.json e scopri cosa non va prima che lo scoprano Apple o Google.

Prima del rilascio

Non hai ancora il file? Generalo →

Come funziona

Perché gli Universal Links aprono Safari invece dell’app

iOS scarica apple-app-site-association tramite la CDN di Apple quando l’app viene installata, non quando si tocca un link. Se in quel momento il file mancava, era reindirizzato o malformato, i link si aprono in Safari finché l’app non viene reinstallata o la cache non si aggiorna.

Le cause tipiche: la voce appIDs usa il bundle ID senza il Team ID di 10 caratteri davanti; paths o components non corrispondono al link; il file è servito con un reindirizzamento o dall’host sbagliato (www invece del dominio senza www); oppure l’entitlement Associated Domains dell’app non contiene «applinks:» seguito dall’host esatto.

Un’altra ancora: un link toccato sullo stesso dominio della pagina in cui ti trovi resta in Safari per scelta di design. Prova da Note, Messaggi o un altro sito.

Perché gli Android App Links aprono il browser

Android verifica assetlinks.json per ogni host di un intent filter con android:autoVerify="true". Se la verifica fallisce per uno qualsiasi di essi, nessuno dei link apre l’app automaticamente.

La maggior parte degli errori riguarda le impronte: il file elenca la chiave di debug o di caricamento, mentre le persone installano la build firmata da Google Play App Signing. Copia lo SHA-256 da Play Console, in Integrità dell’app, ed elenca ogni chiave che firma una build installata dalle persone.

Su Android 12 e successivi puoi controllare lo stato con adb shell pm get-app-links seguito dal nome del pacchetto, e rilanciare la verifica dopo aver corretto il file.

Domande frequenti

Dove deve essere ospitato apple-app-site-association?

In https://your-domain/.well-known/apple-app-site-association, in HTTPS, senza reindirizzamenti, servito come application/json e senza estensione .json.

Dove deve essere ospitato assetlinks.json?

In https://your-domain/.well-known/assetlinks.json, in HTTPS, senza reindirizzamenti, servito come application/json.

Perché non posso validare tramite URL?

I browser non permettono a una pagina di leggere file da un altro sito, a meno che quel sito non lo consenta, e di solito questi file non lo consentono. Apri l’URL, copia il contenuto e incollalo qui.

Quale impronta SHA-256 mi serve?

Quella del certificato che firma la build installata dalle persone. Con Google Play App Signing è la chiave di firma dell’app mostrata in Play Console, non la tua chiave di caricamento. Aggiungile entrambe se distribuisci anche build firmate con una tua chiave.

Ho corretto il file ma i link aprono ancora il browser. Perché?

I dispositivi tengono in cache il risultato. Su iOS reinstalla l’app; su Android rilancia la verifica o reinstalla. Controlla anche che gli Associated Domains o gli intent filter dell’app indichino l’host esatto.

Altri strumenti gratuiti

Un link e un QR code per tutti gli store

SetLinks porta ogni visitatore al suo store e conta ogni clic. Inizia gratis.

Crea un link intelligente