2009-11-18 90 views
4

我試圖將信息從網頁粘貼到表示網頁建議下載的iPhone應用程序。我控制着網頁和可下載的應用程序。iPhone:將信息從網頁傳遞到從App Store下載的應用程序

的情況是這樣的:

用戶訪問我的網頁,關於這一點我承認用戶(他可能已經登錄了,我自己的存儲在cookie中的信息)。然後,我將他的鏈接提交給App Store中的一個應用程序,他應該下載這個Web服務的「增強體驗」。 現在,當用戶在他的iPhone上啓動下載的應用程序時,我喜歡重新識別以前訪問過該網頁的用戶。

如果iPhone應用程序可以讀取Safari瀏覽器的cookie,所有這一切都將變得簡單。但它不能。

一個有點蹩腳的解決方案可能是,Web服務器存儲訪問者的IP地址,並使用它來識別他,一旦他啓動iPhone應用程序。但那不可靠。

另一種方法是給用戶一個令牌(代碼),他需要記住然後重新輸入到應用程序中。我覺得還是很尷尬。

有什麼更好的建議嗎?

回答

0

好的,我們發現了一個有點可行的解決方案:html代碼可以創建一個cookie。之後,當應用程序運行時,它當然不能直接讀取該cookie(由於iPhone應用程序的沙盒)。但是,它可以連接到服務器,然後打開一個指向服務器的http URL,幷包含事先從服務器獲得的唯一令牌。這導致啓動Safari,訪問服務器。服務器現在可以讀取上述cookie並最終通過令牌的幫助建立連接。

+0

因此,用戶必須啓動您的應用程序,該應用程序啓動Safari,然後必須返回到您的應用程序?這聽起來不像是直接在應用程序中輸入用戶名/密碼的經驗。 – bpapa 2009-12-02 16:44:31

+0

事實上,我發現我的建議技術是可取的,因爲用戶不記得任何東西,比如他的註冊名稱和密碼。而且我的解決方案也涉及更少的打字。這不明顯嗎? – 2009-12-08 15:01:29

1

簡而言之,你不能這樣做。

你可以考慮的一件事是啓動應用程序的custom URL scheme。您可以向用戶發送使用此自定義鏈接的電子郵件。然而,這有幾個問題:

  • 用戶可能沒有他們用來註冊您的網站在他們的iPhone上設置的帳戶。這看起來似乎不太可能,但說用戶在5年前通過他們的Hotmail帳戶註冊了您的網站,並且他們已經切換到Gmail。

  • 電子郵件不太可能適合他們的工作流程。他們可能會下載應用程序,並通過觸摸圖標而不是點擊收到的電子郵件中的鏈接來啓動它。

你也可以把自定義的網址爲您的網頁上的鏈接,但同樣,這將不適合的工作流程,因爲他們必須去App Store應用做下載。考慮到這一點 - 如果你有某種網站具有認證步驟,那麼說出用戶是已經擁有應用程序(例如Facebook上安裝的應用程序)的用戶的類型可能是公平的。他們已經習慣了不得不將自己的憑證輸入到應用程序中的範例,儘管它們可能已經在Safari中完成了它。

1

如果你可以閱讀網頁上的JavaScript獨特的iPhone設備ID,你可以尋找一遍的應用程序進行連接...

但我不能找到在移動從Javascript閱讀這篇任何手段野生動物園,我想我會張貼,以防現在有辦法給你另一個選擇考慮。

+0

用某種方式來標識特定的iPhone並不是一個壞主意。我會看看是否有朝這個方向發展的東西。 – 2009-11-18 23:29:05

+0

也許iPhone的某些其他資源可以通過html/JS代碼進行查詢,然後用於生成代碼。比如使用前10個聯繫人,或者存儲在iPhone上的圖片的校驗和... – 2009-11-18 23:32:00

+0

原來,沒有任何東西可以讓您從Mobile Safari中運行的html代碼中獲取有關iPhone的任何細節。 – 2009-11-20 23:28:30

0

只是偶然發現了這個問題,我很好奇你是否想過使用UIWebView。 問題在於 - UIWebView與safari共享cookie嗎?

如果是這樣,其餘的應該很容易。

+0

好問題。我會記下自己的調查 – 2010-01-07 11:50:37

0

UIWebView's不會與Safari共享cookie。所以不幸的是,這不是一個選項。