2013-01-01 5 views
9

io mando un link schema URL personalizzato all'interno di una e-mail:Apertura di un collegamento URL personalizzato in Safari/GMail

[body appendString:@"<div><a href=\"my-custom-url-scheme:test\"><button type=\"button\">Open in App</button></a></div>"]; 

Questo aggiunge con successo un pulsante nella e-mail io mando che, se sfruttato, si apre la mia app (se è installato).

Questo funziona correttamente quando apro l'e-mail in mail.app sul dispositivo iOS, ma non faccio nulla quando apro la posta in Gmail (sia tramite Safari che l'app GMail nativa).

Si tratta di una limitazione del framework? O dovrebbe safari essere in grado di riconoscere questi collegamenti?

+0

Penso che debba essere qualcosa che GMail sta facendo - Ho caricato la stessa linea di html su un server web e l'ho aperta bene dal safari. –

+1

Ho incontrato lo stesso problema. Suppongo anche che sia quello che pensi - gmail sta ignorando questi schemi personalizzati. – brainjam

+2

Confermato, a partire dal 25 aprile 2013 Gmail ignora ancora gli URL di url personalizzati di iOS. – pchap10k

risposta

7

La soluzione migliore che ho trovato per questo è il collegamento a uno script PHP su un server web che accetta parametri e reindirizza la richiesta allo schema URL personalizzato all'interno di Safari.

Questo collegamento sarà nella e-mail:

http://myserver.com/_script.php?parameter=one

Questo reindirizza poi a:

myappscheme:? Parametro // open/= un

Non significa che devi apri Safari per elaborare il collegamento, ma dato che stai aprendo il link dall'app GMail, penso che questo sia un problema minore per far funzionare correttamente questo.

+0

In realtà sto scoprendo che questo non funziona per me tramite Gmail in iOS Safari. La mia app expressjs sta eseguendo un reindirizzamento al mio schema di URL personalizzato ma Safari sembra ignorarlo (ottengo una schermata vuota). Sembra che * dovrebbe * funzionare, ma non riesco a farlo funzionare ... –

+0

Cosa succede se non vi è alcuna connessione Internet quando l'utente tenta di aprire il collegamento dal client Gmail? –

+0

Vedranno immediatamente un errore di tipo "Can not Connect" in Safari e il processo non andrà oltre. Avere una connessione Internet quando questo accade è l'unico modo in cui il mio metodo funzionerà. – AndyDunn