2013-12-20 49 views
7

我在應用程序中使用了自定義URL方案。我成功地從safari重定向到我的應用程序。就像我已經使URL方案「appname」一樣。請檢查http://prntscr.com/2cjx0p以http開頭的自定義URL方案不起作用

我需要使用像ios url redirect from mail to app這樣的解決方案,但我不確定如何設置cookie。

我發現我必須先在我的應用程序中爲服務器「http://myappname.com」設置一個cookie。但我應該怎麼做?


背景故事:

我可以通過鍵入「APPNAME://」,使用它像在Safari和我被重定向到我的應用程序。

現在,我必須分享這個郵件。而要求是從郵件打開應用程序。所以,我也設置這個鏈接在電子郵件正文中可點擊。但是,因爲它以「appname://」開頭,所以我沒有重定向到我的應用程序。這意味着這個鏈接必須以「http://」開頭。

然後,我在URL方案中設置了「http」而不是「appname」,並再次共享該文本。所以它會像「http://」。但是,通過輸入它,它不會將其重定向到我的應用程序。

+0

你在電子郵件中放了什麼?它是HTML電子郵件嗎? – Wain

+0

@爲什麼我設置了標籤。我已經把信息放在了「gameswap://?d」的身上。並將is設置爲isHTML屬性。但是,當我點擊它(從郵件),它不會迴應。 – Krunal

+0

Did you use' Wain

回答

4

我解決了這個...

我通過將網址與Test.html頁面包含在一起,從而做到了這一點。在這方面,下面的腳本編寫..

<script type="text/javascript"> 
window.location = 'appName://'; 
</script> 

現在,在共享URL,這就像 'http://demo.com/test.php/?d='。從郵件中,我打開了該鏈接,它已經被重定向到我的應用程序的特定頁面。

我從HERE找到了最大的幫助。

6

在您鏈接到該代碼的問題打開一個鏈接:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.myApp.com/appInstalled"]]; 

這將打開Safari瀏覽器在您的服務器上指定的頁面。該頁面唯一做的是設置一個cookie,然後重定向回您的應用(使用自定義URL方案)。這需要通過加載的網頁完成(所以使用返回的頭文件&HTML)。

這樣做的目的是將cookie存儲在Safari中(這是將來需要的地方 - 它將來會有一個到期日期)。我不認爲你可以在應用程序中存儲cookie(沙盒)。

您將看到一個切換到Safari,但它應該幾乎立即切換回到您的應用程序。


你應該能夠在返回的HTML頁面使用JavaScript重定向:

<script type="text/javascript"> 
<!-- 
    window.location = "gameswap://?d" 
//--> 
</script> 

或HTML(在部分):

<meta http-equiv="refresh" content="0; url=gameswap://?d" /> 
+0

它打開了,但不再重定向到我的應用程序。我之前已經實現了它,我面臨這個問題再次重定向到應用程序。如何做? – Krunal

+0

你試過了什麼? – Wain

+0

我沒有嘗試你給的最後一個解決方案。我已經嘗試過打開你說的網址。從哪裏打電話給它? – Krunal

1

使用此格式如果您不想使用http。

設置這在您的URL方案

www.my.app 

鏈接格式打開應用

www.<characters>.<characters>://<characters> 

爲如。

www.my.app://open