iOS - 在健身应用中推送通知和距离跟踪

时间:2014-01-28 22:11:25

标签: ios push-notification reset

首先,我是iOS的初学者,我正在研究我的第一个iOS应用程序。 (我正在使用Parse.com作为我的数据库)我正在开发一个健身应用程序(iOS),它可以跟踪用户每天的步行/跑步距离。即使用户没有在应用上播放,我的应用也可以在后台运行以跟踪距离。无论如何,这些是我遇到的一些问题......

  1. 我希望我的应用在每天达到远程目标时向用户发送推送通知,我该怎么办?我想根据我使用的一些应用程序/游戏,这可能是可能的,例如,当我的心脏再次满满时发送通知的Candy Crush,或者当我达到每1000步时发出警报的地面里程。或者我只是弄错了?如果是,有任何建议吗?

  2. 我想将当天的行走距离数据发送到数据库,并将应用程序中显示的行走距离值重新设置为每隔午夜0公里,这样我就可以向用户显示他们每天完成的距离。如何重置显示的距离值?如何在特定时间或以适合我上述功能的方式将数据发送到我的数据库?现在我正在使用我的applicationDidEnterBackground方法中的saveEventually函数将它保存到我的数据库中,我认为这不是一种正确的方法。


  3. 请给我一些建议:)我已经在许多页面和网站上查看但似乎没有得到我想要的答案。我很感激你的每一条评论,并提前非常感谢你!

    Aimme :)

3 个答案:

答案 0 :(得分:0)

  1. Parse有推送通知,请查看他们的文档。当用户更新其位置时,您还需要设置一些脚本(解析也有此脚本)。 (即检查他们是否达到目标,然后发送推送,如果是真的)

  2. 更新解析数据库以查找位置或距离时添加日期属性/列。在您的应用上,当您获取数据时,只使用过滤器获取该日期(或您需要的任何日期)的数据,或者只是自己过滤应用程序。

答案 1 :(得分:0)

1)当您检测到已达到限制时,请使用UIApplication:presentLocalNotificationNow(如果您的应用位于后台,如果其位于前台,则会显示警报视图,如果您的应用位于前台,则会发布通知那个时候)

2)您无法安排应用程序在午夜运行,也无法安排应用程序在特定时间保存数据。如果用户运行应用程序或从操作系统获得位置更新,则必须重置距离和保存数据的唯一机会。每次应用程序运行时,您都必须查看当前日期/时间并保存,然后下次运行,如果是应用程序当天第一次运行,那么您知道必须将计数重置为0。 每当位置发生变化时,您应该将数据保存到数据库中(确保过滤掉木质化位置变化)

答案 2 :(得分:0)

我会使用云代码。如果您在某个时刻存储数据,则可以实现一个后续函数来计算用户是否达到了目标。然后,如果有,您可以直接从解析服务器发送推送通知。