从 Parse.com 查询或保存传入的推送通知
Posted
技术标签:
【中文标题】从 Parse.com 查询或保存传入的推送通知【英文标题】:Query or save incoming push notifications from Parse.com 【发布时间】:2015-03-03 18:05:57 【问题描述】:我希望在我的应用程序的表格视图中显示传入的推送通知。我正在使用通过现有 CRM 产品中的脚本触发的推送通知的解析框架。我为每个用户设置了单独的频道,用于高级定位。
我要做的是在表格视图中根据特定用户的频道显示所有推送通知。我还想有一种方法让用户从他们的手机中删除通知,而不是从解析后端删除通知。我很确定这可以通过查询和解析中的自定义字段来完成,以显示用户删除的消息。该查询将查看频道,然后查看自定义字段以仅显示未标记为已删除的消息。
我的问题是如何构造查询以及在何处/如何添加此自定义字段?
【问题讨论】:
【参考方案1】:我找到了一个可行的解决方案。
尝试从传入的推送通知中捕获似乎只有在应用程序打开后才能工作,并且会导致在表格视图中显示延迟。尝试捕获和存储从推送通知接收到的数据需要调用解析,以便将其保存为我的自定义类中的对象。我发现调用 Rest API 以在 parse 中的自定义类中创建一行更容易。
因此,基本上当向单个用户触发推送时,会发生以下情况。
创建一个 API 调用来发布数据以在我的自定义类中解析,其中包含推送通知中包含的所有信息以及其他详细信息,例如接收它的用户和用于报告目的的信息。
然后在我的自定义类中创建对象后触发推送通知。
最后,我让表格视图查询自定义类以查找特定于用户的推送项并将它们显示在表格视图中。
到目前为止,这非常有效,似乎是完成我想做的事情的最简单方法。
【讨论】:
【参考方案2】:由于推送与安装(而不是用户)相关联,我可能建议您将列添加到安装表(作为集合)到您创建的自定义对象以表示每次推送。
您可以在本地捕获推送通知并将它们存储在设备上,但我认为这可能仅适用于应用程序处于前台时收到的推送。除非用户对通知执行操作,否则应用将无法访问在后台模式下收到的推送。
很遗憾,因为我知道这些数据已经在 Parse 的某个地方被捕获,但它似乎并没有通过他们当前的 API 公开。我讨厌不得不再次存储这些数据,但我没有其他选择。
【讨论】:
以上是关于从 Parse.com 查询或保存传入的推送通知的主要内容,如果未能解决你的问题,请参考以下文章
Parse.com:在 onPushOpen 上获取 Pushnotification 消息
Parse.com 推送通知延迟或仅在 Android 应用重启后