检测附近的用户并使用推送通知 iOS 进行通知

Posted

技术标签:

【中文标题】检测附近的用户并使用推送通知 iOS 进行通知【英文标题】:Detect Nearby Users and Notify with Push Notification iOS 【发布时间】:2019-04-22 18:21:32 【问题描述】:

我希望在我的移动应用程序中加入一项功能,通过push notification 提醒我附近的用户也拥有该移动应用程序并被标识为我的“朋友”——即使该应用程序在后台运行。

示例:用户 A 和用户 B 是应用内的朋友,用户 A 在用户 B 附近。双方都会收到对方存在的提醒。

我是否应该研究任何推荐的解决方案来完成这个用例?我知道iBeaconsBLEMultipeer Network Connectivity,但不可否认,在概念上并没有完全掌握它们以及什么是可能的。另外,有适合初学者的教程吗?我已经尝试在网上搜索并找不到任何内容。

任何指导将不胜感激。

【问题讨论】:

您可以在后台查看用户位置,计算服务器端用户之间的距离,并在需要时发送通知 "你可以在后台检查用户位置..." 不,你不能。仅允许转弯 GPS 应用程序从后台不断读取 GPS。其他应用在暂停和停止获取后台时间之前只会获得几分钟的后台时间。 【参考方案1】:

我认为没有一种解决方案可以让您在设备锁定时执行此操作。您可以从后台监控 iBeacon 信号,当它检测到信标时,您的应用程序甚至会启动。但是,您的应用的所有副本都需要广播信标信号,而您无法在设备锁定时或在您的应用处于后台超过几分钟时这样做。

监控您的 GPS 位置并将其广播到网络也是如此。您或许可以使用“显着位置变化”通知来检测用户何时移动了相当长的距离,但这可能无法为您提供所需的分辨率。

【讨论】:

感谢您的反馈。以下可能会起作用吗?允许位置背景更新并使用位置管理器监视重大位置变化,并在 didUpdateLocations 委托方法上,触发一个函数,该函数触发后端根据其他用户拥有自己的 @987654322 时保存的坐标来逻辑其他用户是否在附近@ 火?然后发送推送通知? 是的,这应该可以,但您可能无法获得所需的分辨率或快速更新。我建议设置一个测试应用程序并设置重要的位置更改通知,并在每次应用程序获得更新时发出哔哔声,并将位置更新显示为地图上的图钉然后四处走动并判断它是否频繁和/或准确足以满足您的需求。

以上是关于检测附近的用户并使用推送通知 iOS 进行通知的主要内容,如果未能解决你的问题,请参考以下文章

iOS 9:如何检测用户何时对推送通知请求说“不允许”? [复制]

通过 GCM 使用 android 和 nodejs 进行地理定位推送通知

FCM 检测 IOS 上的应用程序卸载(firebase 云消息推送通知)

如何检测用户卸载的iOS App?我需要推送严肃的通知。我不想失去它

用于管理推送通知的 iOS API

IOS 10如何处理用户点击推送通知