触发推送通知-实现特定对象[关闭]

Posted

技术标签:

【中文标题】触发推送通知-实现特定对象[关闭]【英文标题】:trigging push notifications - specific object atualized [closed] 【发布时间】:2014-11-20 12:43:48 【问题描述】:

当特定对象的值更新时,我需要向用户触发推送通知。

例如,在待办事项应用中,如果用户通过时钟提醒共享任务列表,如果为某些用户更新了时钟提醒的时间,则应通过推送通知通知其他所有人。

谢谢。

干杯

【问题讨论】:

【参考方案1】:

您可以在对象更新后使用 Cloud Code 触发推送。您很可能希望查看 afterSave 挂钩以向所有相关用户发送通知。

但是,这些钩子有一个陷阱,它们被限制为 3 秒的挂钟时间,并且取决于您需要查询的用户数量,这可能还不够。所以我的建议是在一个特殊的表中创建一个条目(我们称之为 NotificationQueue),由后台作业查询,后台作业最多可以运行 15 分钟。

因此,您将安排一个后台作业“轮询”此表以获取新事件以发送通知,将通知发送给用户,然后从该表中删除对象。

我的方法的一些伪代码

afterSave 挂钩

Parse.Cloud.afterSave("YourObjectClass", function(req) 
    // Logic to check if you should really send out a notification
    // ...
    var NotificationObject = Parse.Object.extend("NotificationQueue");
    var notification = new NotificationObject();
    notification.set("recipients", [..array of user objects/ids..]);
    notification.save(null, 
        success: function(savedObject) 
            // New object saved, it should be picked up by the job then
        ,
        error: function(object, error) 
            // Handle the error
        
    );
);

后台作业

Parse.Cloud.job("sendNotifications", function(req,res) 
    // setup the query to fetch new notification jobs
    var query = new Parse.Query("NotificationQueue");
    query.equalTo("sent", false);
    query.find(
        success: function(results) 
            // Send out the notifications, see [1] and mark them as sent for example
        ,
        error: function(error) 
            // Handle error
        
    );
    // ...
);

[1]https://www.parse.com/docs/push_guide#sending/javascript [2]https://www.parse.com/docs/cloud_code_guide#functions-aftersave [3]https://www.parse.com/docs/cloud_code_guide#jobs

【讨论】:

谢谢 Bjorn,我会研究这个背景工作替代方案 :)【参考方案2】:

使用本地推送通知服务,请关注reference

也可以查看tutorial

【讨论】:

以上是关于触发推送通知-实现特定对象[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在发送推送通知期间关闭计算机时处理 Quartz 触发器

BuildFire - 如何使用 SDK 从管理面板触发推送通知?

如何使用远程推送通知触发 AVAudioPlayer 播放?

iOS 开发:推送通知阻止我的本地通知触发

Android推送通知离线[关闭]

Windows azure 推送通知并将通知捕获到特定网站页面