【问题标题】:Geofencing Alert Analytics - Impossible?地理围栏警报分析 - 不可能?
【发布时间】:2013-05-08 21:06:17
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: iphone ios analytics geofencing


    【解决方案1】:

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

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

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

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

    就是这样,很简单。

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

    【讨论】:

      【解决方案2】:

      告诉您的“开发人员”将一小段代码放入他的小应用程序中,每次所述应用程序记录进入或退出事件以及哪个区域触发它时,该应用程序都会在数据库中写入一条小记录。

      这是代码,如果他试图再次告诉你这是不可能的:

      - (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-08-15
        • 1970-01-01
        • 1970-01-01
        • 2014-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多