2013-05-08 72 views
0

我在公司的IT方面工作,我目前正在與iOS開發人員一起開展項目。該項目基本上是一款應用程序,當他們進入250米半徑地理圍欄區域時,會通知用戶店內提供了警報。這些地理圍欄區域目前有160個。Geofencing警報分析 - 不可能嗎?

我公司希望能有一些數據涉及多少警告被每天/每週/每月每個地理圍欄的區域內發送的(無論我們可以得到!),以評估哪些地區的用戶是最活躍英寸

開發者告訴我這實際上是不可能的。我真的很感謝一些指導,說明這是否可行,以及我可以在哪裏找到更多信息,即是否有任何移動分析服務提供此功能?

我一直在盡我所能,在過去4天找到關於它的更多信息,與有限的成功。我真的很感激一些指導。

回答

0

這是可能的,但別的東西是不可能的 - 同時跟蹤160個geolocations。這將消耗電池壽命,實際上一個應用可同時跟蹤的地理位置的最大數量大約爲20.(這是一個iOS限制,周圍沒有解決方法或「黑客」)

這的確是,很可能。我會嘗試在高度抽象的層面上解釋它。

爲了通知你的用戶,你的應用程序從iOS的通知用戶進入或退出某個區域。

這就是你的機會,將查詢發送到在數據庫中添加新行(某個地方,你的服務器上,等等),包含通知解僱,從什麼地理區域已被解僱的日期。

這就是它,很微不足道。

不過,你應該想想你應該如何設計你的數據庫,你應該存儲在它裏面的東西。

0

告訴你的「開發者」在一個小小的一段代碼到他小小的應用程序對數據庫中的每一次說的應用程序記錄無論是與入口或出口事件和區域觸發,寫了一個小小的紀錄扔。

下面是代碼,如果他試圖再次告訴你它是不可能的:

- (void)exited:(CLRegion *)region //could also use entered 
{ 
    NSString *id = [NSString stringWithFormat:[region identifier]]; //id of region triggered in app 
    NSString *post = [NSString stringWithFormat:@"id=%@",id]; //append id to data which you post to server so it can record it in your database 
    NSString *hostStr = @"https://www.yourwebsite.com/yourapp/ios_data.php?"; //actual url of your webpage which will write data to database for you 
    hostStr = [hostStr stringByAppendingString:post]; //put two and two together 
    NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr ]]; // package them 
    NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding]; //read response from server (your own output confirming record) 
} 

問題?