《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 解決方案 > 簡(jiǎn)單四步學(xué)會(huì)AltBeacon安卓APP開(kāi)發(fā)

簡(jiǎn)單四步學(xué)會(huì)AltBeacon安卓APP開(kāi)發(fā)

2015-08-27
關(guān)鍵詞: Beacon AltBeacon

如果將Beacon應(yīng)用于故宮博物館導(dǎo)覽,,想象一下,,當(dāng)游客走到一個(gè)不明覺(jué)厲的青銅方樽面前,只要拿起手機(jī)就能快速了解它的主人,、出土信息和花紋的寓意,,再也不用擔(dān)心被人嘲笑沒(méi)文化了。這一切都只要借助Beacon應(yīng)用APP即可實(shí)現(xiàn),。

今天,,我們討論一下如何用AltBeacon安卓API開(kāi)發(fā)Beacon原型APP。要完成這樣一個(gè)設(shè)計(jì),,我們需要做五點(diǎn)設(shè)想:

1,、博物館內(nèi)安裝的所有的Beacon基站都在APP能夠探測(cè)到的范圍內(nèi);

2,、APP能夠默默地在后臺(tái)運(yùn)行并探測(cè)附近的Beacon,;

3、當(dāng)游客與Beacon基站的距離靠近至2m范圍內(nèi)時(shí)才會(huì)跳出彈窗,,提示與這一Beacon相關(guān)的展品信息,;

4、針對(duì)同一展品,,APP不會(huì)不識(shí)趣地反復(fù)跳出提示窗,;

5、能夠查閱APP系統(tǒng)日志底層Beacon相關(guān)事件,。 

開(kāi)發(fā)步驟1:綁定服務(wù),,設(shè)定“區(qū)域”

首先,用AltBeacon API BeaconManager將APP與后臺(tái)運(yùn)行的AltBeacon庫(kù)中的服務(wù)綁定,。另外,,要著手設(shè)定一個(gè)或多個(gè)“區(qū)域”。這里所說(shuō)的“區(qū)域”是指一個(gè)或一組Beacon,,由AltBeacon Beacon ID 域值來(lái)規(guī)定,。

開(kāi)發(fā)步驟2:APP程序類(lèi)別

針對(duì)不同的顯示界面(包括主要展品信息界面、Beacon事件日志界面)的活動(dòng)類(lèi)別、以及其他一些輔助性的Java類(lèi)別,,這個(gè)APP包括一個(gè)自定義應(yīng)用程序類(lèi)和一個(gè)Actiivity類(lèi)別,。AltBeacon API負(fù)責(zé)APP后臺(tái)運(yùn)行彈出,并提供一系列接口來(lái)支持與Beacon探測(cè)相關(guān)的回調(diào)函數(shù),。

開(kāi)發(fā)步驟3:測(cè)定距離,,更新范圍

AltBeacon API支持“監(jiān)測(cè)”與“測(cè)距”功能。監(jiān)測(cè)功能會(huì)在APP進(jìn)入某一個(gè)或某一組Beacon區(qū)域時(shí)生成事件,。測(cè)距功能可以追蹤游客距離某一組Beacon的距離,,當(dāng)兩者近到一定程度時(shí),就可以觸發(fā)功能,。

開(kāi)發(fā)步驟4:定義最近的Beacon, 判斷信息推送時(shí)間

有了Beacon列表以及每個(gè)Beacon與游客的距離估算值,,要推算出哪個(gè)Beacon離游客最近應(yīng)該是不成問(wèn)題的。當(dāng)APP收到范圍更新時(shí),,就要判斷是否需要執(zhí)行相應(yīng)的功能,。具體來(lái)說(shuō),就是看哪個(gè)Beacon離游客最近,、有沒(méi)有近到需要向游客提示Beacon所對(duì)應(yīng)的展品信息,。如果最近的Beacon發(fā)生了變化,游客會(huì)收到提示信息,。

測(cè)試問(wèn)題1:現(xiàn)實(shí)世界中的Beacon探測(cè)

現(xiàn)實(shí)中,,由于游客和Beacon之間的物理屏障或Beacon配置與之前設(shè)想的不同,也會(huì)出現(xiàn)一些紕漏,。因此,,與其中規(guī)中矩地根據(jù)AltBeacon庫(kù)回調(diào)的數(shù)據(jù)行事,不如對(duì)算法進(jìn)行適度的“模糊”處理——保留了最近15s的報(bào)告中提示位于范圍內(nèi)的Beacon的相關(guān)數(shù)據(jù)緩存,,以及每個(gè)Beacon最近一次被探測(cè)到的精確時(shí)間,,反而能改善Beacon APP的表現(xiàn),。 

測(cè)試問(wèn)題2:如何判斷推送時(shí)間

怎樣判斷當(dāng)前時(shí)刻提示游客Beacon所關(guān)聯(lián)的展品信息是否“合適”呢,?主要看最后一次生成的通知是否為同一Beacon相關(guān)的,因?yàn)闆](méi)有必要反復(fù)提示用戶(hù)同一個(gè)展品的信息,。還需要將估算的Beacon距離與既設(shè)的(觸發(fā)行為的)最小距離值進(jìn)行對(duì)比,,判斷游客是否足夠靠近Beacon(也就是展品),然后決定是否發(fā)送展品信息,。

QQ截圖20150827135101.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118,;郵箱:[email protected],。