0

我在公司从事 IT 方面的工作,目前正在与一名 iOS 开发人员一起开展一个项目。该项目基本上是一个应用程序,当用户进入半径 250m 的地理围栏区域时,它将通过警报通知用户店内优惠。目前有 160 个这些地理围栏区域。

我的公司希望获得一些关于每天/每周/每月在每个地理围栏区域内发送多少警报的数据(无论我们能得到什么!),以评估用户最活跃的区域。

开发商告诉我,这实际上是不可能的。对于这是否可行以及在哪里可以找到更多信息,我真的很感激一些指导,即是否有提供此功能的移动分析服务?

在过去的 4 天里,我一直在尽最大努力寻找有关此的更多信息,但收效甚微。我真的很感激一些指导。

4

2 回答 2

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)
}

问题?

于 2014-06-06T07:38:09.807 回答
0

这是可能的,但其他事情是不可能的——同时跟踪 160 个地理位置。这会消耗电池寿命,事实上,一个应用程序可以同时跟踪的最大地理位置数量约为 20。(这是 iOS 限制,没有解决方法或“破解”它)

这确实很有可能。我将尝试在高抽象层次上解释它。

为了通知您的用户,您的应用会从 iOS 收到用户进入或退出某个区域的通知。

这是您发送查询以在数据库中添加新行的机会(在线某处,在您的服务器上等),其中包含通知触发的日期以及它被触发的地理区域。

就是这样,非常微不足道。

但是,您应该考虑应该如何设计数据库,以及应该在其中存储什么。

于 2013-05-08T22:45:19.963 回答