2013-04-16 38 views
1

我們正處於規劃移動應用程序的初期階段。我們有一些特定於GEO功能和功能的需求。Mobile iOS GEO位置投票和通知

我們的願望是創建一個混合,但是,我明白,可能無法滿足以下所有要求。

假設用戶已經給出了正確的通知權限的應用程序:

客戶運行在前臺的應用:

  1. 設備在某些客戶端行動通知地理位置的服務器 (客戶做了一些將數據發送到服務器的動作,我們可以包括當前的GEO位置嗎?)

  2. 設備每隔n分鐘發送當前GEO位置的ping。

  3. 商務事件發生時,服務器發送消息給設備,由於其地理位置(服務器將消息發送到在GEO接近的一個或多個應用程序

顧客未在運行的應用程序前景

  1. 設備通知地理位置的每ň分鐘服務器。(服務器想知道設備的大致位置,以確定它是否發送的事件的服務器通知其附近)

  2. 服務器發送消息到設備,由於它的同時,設備沒有運行的地理位置。 (服務器由於它的GEO位置而向設備發送通知消息,我知道如果應用程序未運行,這將作爲應用程序警報下達到操作系統,然後用戶將單擊以在前臺運行該應用程序)

我目前主要關注的是iOS,但我對Android的功能感興趣。

我沒有移動開發經驗。我們正在制定功能規範並試圖確定功能集的可行性。

我們的絕大多數應用程序都是簡單的客戶端數據交互,設備和服務器之間的混合會很好。但是,我們的客戶沒有運行GEO的要求,這讓我擔憂。是否可以創建一個小型的iOS應用程序來處理混合動力所無法做到的事情?如果是這樣,這些應用程序可以打包在一起還是將它們分開安裝?

編輯: 假設用戶已正確配置設備,即設備GPS已打開並且能夠接收通知等。核心問題是設備是否可以在應用程序運行時每隔n通知服務器其GEO位置,然後應用程序出現同樣的問題? 這是否顯着不同之間的本土/混合。

對於iOS,當應用程序位於「應用程序托盤」中時,該應用程序仍然認爲正在運行?或者,一旦應用程序不在前臺,它將被有效關閉?

謝謝

回答

0

首先,如果客戶關閉了GPS,您將無法獲得客戶的GEO。

我認爲你需要PhoneGap使它工作(如果你想混合應用程序)在閱讀你的要求後。閱讀:

Do hybrid mobile apps support Push Notifications?

在iOS上,你不需要,你不能有任何額外的mesurements,以確保它們是開放的。你唯一能做的就是注意用戶「你的GPS沒有運行」,並要求他們打開它。 關於通知:您只能使用Apple提供的通知中心,如果您只是想在iOS上開發,那麼這非常簡單。

在Android上,情況有些不同。在Android的最新版本就無法打開GPS在後臺,但你可以在舊版本,請閱讀本:

turn on off GPS android

所以你最好證明你的用戶設定畫面,要求他們打開GPS。

關於通知:由於某些設備上未安裝Google服務,因此不推薦使用Google GCM。第三方推送服務是一個像樣的選擇,如urbanairship

關於後臺任務:

在Android中,你可以運行此任務的背景下,在iOS中它也可以像什麼Endomondo一樣。但是,如果用戶進程達到內存限制系統可能會終止進程以釋放內存,它一直不穩定。這可能發生在Android的兩個iOS &上。

+0

Thanks Reck,這些帖子很有幫助。我還不清楚應用程序是否可以在應用程序未運行的情況下每n分鐘將其地理位置推送到服務器。任何方式來完成這個? – Richard

+0

@Richard在Android中你可以運行這個任務背景,在iOS中也可以像Endomondo那樣做。但它不穩定,因爲如果用戶到達內存系統可能會導致進程釋放內存。這可能發生在iOS和Android上。 –