2014-01-07 58 views
1

ibeacons究竟如何知道在商店中要通知的內容?我正在嘗試爲我的商店設置一項服務,以便我可以在不同的地點投放不同的廣告。Ibeacons和廣告

請糾正我,如果我錯了,但是最好的辦法是有一個後端服務器,我保存所有警報消息,當設備命中ibeacon時,它向服務器請求顯示什麼?由於廣告頻繁變化,我不想在應用中對郵件進行硬編碼。

當應用程序在後臺點擊我的信標時,是否可以觸發服務器?

有沒有更好的方法來做到這一點?

回答

3

iBeacon廣告只是一個UUID,加上「主要」和「次要」值。還有一個RSSI信號可用於根據無線電信號強度校準距離估計。沒有其他的。

是的,你應該實現一個後端服務器。

當您註冊信標通知並指出您甚至希望它們來自後臺時,系統檢測到設備已進入信標區域時會調用您的應用程序。如果你的應用程序在後臺,那麼通知將與你的應用程序仍在後臺進來。

從背景中,您唯一真正的選擇是向用戶顯示本地通知,並希望他/她滑動通知以喚醒設備並將您的應用程序放到前臺。如果用戶在幾秒鐘後(5,根據我的測試)沒有這樣做,你的應用程序就會回到假死狀態,直到其他東西被喚醒。

一旦你到達前臺,你可以發送一個請求到你的遠程服務器,宣佈用戶已經進入了這樣一個信標區域。然後服務器可以向您發送您可以呈現給用戶的信息。您可能希望您的服務器使用Web服務,因此它可能會以JSON或XML響應您。

由於在應用程序進入睡眠狀態之前,您只需要幾秒鐘的後臺處理時間,所以我認爲您不會有時間可靠地向服務器發送請求,取回並回答問題,並制定本地通知給用戶提供基於服務器的信息。

如果您確實需要基於輸入信標區域的基於服務器的消息,則需要將您的信息從後臺發送到服務器,然後讓服務器將推送通知發送到您的設備。推送通知可能包含該信標的特定警報。