2013-01-01 31 views
9

我發送電子郵件內的自定義URL方案的鏈接:打開在Safari/GMail的一個自定義的URL鏈接

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

這在我發送電子郵件,其中,輕敲後,打開我的應用程序成功添加一個按鈕(如果已安裝)。

當我在iOS設備上的mail.app中打開電子郵件時,此功能正常工作,但在Gmail中打開郵件時(通過Safari和本機GMail應用程序),此功能無效。

這是框架的限制嗎?或者Safari應該能夠識別這些鏈接?

+0

我認爲這一定是GMail正在做的事情 - 我將同一行html上傳到網絡服務器,並且它從Safari瀏覽器開放。 –

+1

我遇到了同樣的問題。我也假設這是你的想法--gmail忽略了這些定製方案。 – brainjam

+2

確認,截至2013年4月25日,Gmail仍然忽略iOS自定義網址方案網址。 – pchap10k

回答

7

我發現的最佳解決方案是鏈接到Web服務器上的PHP腳本,該腳本將參數和請求重定向到Safari中的自定義URL方案。

此鏈接將在電子郵件:

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

這則重定向到:

myappscheme://開/參數=一個

它意味着你必須打開Safari來處理鏈接,但考慮到你打開GMail應用程序的鏈接,我認爲這是一個小問題,以使其正常工作。

+0

我實際上發現,這不適用於我在iOS Safari中通過Gmail。我的expressjs應用發佈重定向到我的自定義URL方案,但Safari似乎只是忽略它(我得到一個空白屏幕)。似乎它*應*工作,但我不能讓它去... –

+0

如果當用戶嘗試從Gmail客戶端打開鏈接時沒有互聯網連接怎麼辦? –

+0

他們會立即在Safari中看到「無法連接」類型錯誤,並且該過程不會再進行。在發生這種情況時建立互聯網連接是我的方法工作的唯一途徑。 – AndyDunn