我在我的公司从事IT方面的工作,目前正在与一位iOS开发人员合作一个项目。该项目基本上是一个应用程序,它将通知用户在商店提供时,当他们进入250米半径的地理围栏区域时发出警报。目前有160个这样的地理围栏区域。
我的公司希望得到一些关于每个地理围栏区域每天/每周/每月有多少警报被发送的数据(无论我们能得到什么!)评估用户在哪些领域最活跃。
开发人员告诉我,这实际上是不可能的。我非常感谢一些指导,如果这是可能的,我可以在哪里找到更多的信息,即是否有任何移动分析服务提供这一点?
在过去的4天里,我一直在尽我最大的努力寻找更多关于这方面的信息,但收效甚微。如果能得到一些指导,我将不胜感激。
发布于 2013-05-09 06:45:20
这是可能的,但有些事情是不可能的--同时跟踪160个地理位置。这将耗尽电池寿命,事实上,一个应用程序可以同时跟踪的地理位置的最大数量约为20个。(这是iOS的限制,没有解决方法或“黑客”)
这确实是非常有可能的。我将尝试在较高的抽象级别上对其进行解释。
为了通知你的用户,iOS会通知你的应用程序用户进入或退出了某个区域。
这就是你发送一个查询在数据库中添加新行的机会了(在线上的某个地方,在你的服务器上等等),包含通知被触发的日期和它被触发的地理区域。
这就是它,相当微不足道。
但是,您应该考虑应该如何设计数据库,以及应该在其中存储什么内容。
发布于 2014-06-06 15:38:10
告诉你的“开发人员”在他的小应用程序中加入一小段代码,每次应用程序记录进入或退出事件以及触发它的区域时,它都会在数据库中写入一条很小的记录。
以下是代码,如果他试图再次告诉你这是不可能的:
- (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)
}有问题吗?
https://stackoverflow.com/questions/16450193
复制相似问题