2013-05-08 70 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) 
} 

问题?