在我正在开发的 android 应用程序中,我希望能够根据用户的位置向用户的手机发送通知。例如,用户在其当前位置本地的餐厅收到特价优惠通知。
我想知道做到这一点的最佳方法?(没有代码,只是如何做的一般结构)。
我想到了两种可能的方法:
方式一:
1) 让应用程序获取用户位置并每 5 分钟向服务器报告一次。2)如果用户在该位置的设置半径内,向他们发送通知。
方式二:
1)发送通知并使用应用程序广播接收器方法过滤并仅向正确区域的用户显示通知。
两者似乎都非常低效,因为方式 1 依赖于持续运行的服务,而方式 2 向应用程序的所有用户发送通知,并且由于通知将非常特定于区域,几乎 100% 的时间通知与用户(因此未显示)。
我已经编写了 GCM 代码并且还可以获取用户的位置,我只需要一种方法将它们链接起来。
我希望我已经把我的问题说清楚了。