2011-08-06 58 views
0

是否有一種方法通過將數據推送到移動Safari瀏覽器來模擬推送通知?這裏有兩種情況。通過移動Safari瀏覽器的iPhone推送通知

  1. 我提出通過PhoneGap的一個Web應用程序和不想使用APNS而是做一個網絡套接字連接和數據推送到設備自己。在設備端有一個「alert」函數,當用戶不在應用程序中時,我可以調用它來模擬彈出窗口?

  2. 讓Web應用程序從窗口中移出。有沒有一種方法可以在原生移動Safari中執行此操作?我不是在談論一個普通的舊JS警報窗口,只有當用戶在應用程序中才會出現,但能夠在後臺執行此操作。

+0

只是爲了澄清,您是在建立一個原生應用程序,該應用程序是否使用了手機間隙,或者您正在構建一個可通過用戶從移動Safari瀏覽器訪問您的網站訪問的移動Web應用程序? – Ish

+0

其實這個問題提出了兩種情況。如果我可以在非本機應用程序中啓動通知,那將會非常棒。但如果它需要是本地的,我也很好。請記住我不想APNS。我想知道我是否可以模擬推送通知,同時繞過Apples整個推送通知服務。 – DvideBy0

回答

1

您無法使用移動Safari瀏覽器運行後臺任務,因此對於#2您無法執行真正的推送通知或警報。但是,如果您有用戶的電話號碼,則可以向用戶發送短信。這可以有一個超鏈接到你的網站的一部分(它可以包含某種有效載荷)。您可以使用Twilio等服務來幫助您發送短信。然而這需要花錢。 APNS沒有。

對於場景#1,我假設您正在討論使用phonegap解決方案的原生應用。在這種情況下,當應用程序背景時,您根本無法訪問任何UI並喚醒應用程序並顯示UIAlert。實際上,除非某個應用程序註冊了位置更新或背景音樂,否則該應用程序在設定的時間段之後實際上不會響應(它只能「完成」之前開始的某些操作)。所以websocket解決方案只有在用戶打開應用時纔會生效。

您可以註冊一個在某個預定時間運行的本地通知,該通知將顯示警報。但是,這並不是從服務器推出的,所以它可能不是你想要的。

APNS是您針對場景#1的最佳解決方案。它不難實現,而且價格相當便宜。如果你想避免爲它構建自己的服務器端組件,請查看城市飛艇。

+0

我想這幾乎可以爲我解答:p我希望像web-sockets和EventSource這樣的東西變得更「流行」 APNS會有替代方案。我們仍然會把這個問題留待一天,看看有沒有人有他們發現的任何漏洞。在我的googlings中,我還沒有發現很多最近討論的話題,並且懷疑信息是否稀少......如果沒有人在合理的時間內(一天)回覆, – DvideBy0