如果有什么变化,我希望能够向用户发送通知。例如,我的申请与犯罪有关。因此,用户可以提交在他们的社区发生的犯罪的报告。
当一个新的犯罪报告,我希望能够向所有的用户在这个特定的社区,即使他们没有积极使用该应用程序。
这是如何做到的呢?我对此非常陌生,但据我所知,像Firebase消息传递这样的服务要求您手动键入消息,并选择用户手动发送消息。我想知道是否有一种方法可以做到这一点,而不需要有人做手工工作?
类似于snapchat/instagram和其他东西会给你发送通知,即使你不使用手机,也有人给你发了消息。
在我的例子中,我只想展示同样的标准通知“你们地区的新犯罪”.
我该怎么做?(目前我只是在使用通知渠道),非常感谢!
发布于 2019-08-13 09:09:25
您可以通过FCM集成使用Parse轻松地做到这一点。
首先,您需要设置您的Android应用程序才能接收推送通知。
只需遵循这个快速启动:https://docs.parseplatform.org/parse-server/guide/#push-notifications-quick-start
其次,您需要创建一个云代码函数。
我建议您创建一个云代码函数,它将接收邻域作为参数,查询该邻居中的用户安装并向所有用户发送推送通知。
会是这样的:
Parse.Cloud.define('notifyCrime', async req => {
const query = new Parse.Query(Parse.Installation);
query.equalTo('neighborhood', req.params.neighborhood); // I'm supposing you have a field called neighborhood in your installation class - if not, you can save this field there when the user sign up
await Parse.Push.send({
where: query,
data: {
alert: 'There is a crime in your neighborhood'
},
useMasterKey: true
});
});
参考资料:https://docs.parseplatform.org/js/guide/#sending-pushes-to-queries
第三,您需要从Android应用程序中调用云功能。
一旦一些用户报告了犯罪行为,您就可以调用在步骤2中创建的云代码函数,通知同一邻居中的所有其他用户。
会是这样的:
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("neighborhood", "The neighborhood goes here");
ParseCloud.callFunctionInBackground("notifyCrime", params, new FunctionCallback<Object>() {
void done(Object response, ParseException e) {
if (e == null) {
// The users were successfully notified
}
}
});
参考资料:https://docs.parseplatform.org/cloudcode/guide/#cloud-functions
发布于 2019-08-12 10:13:14
“我的理解服务(如Firebase消息传递)要求您手动键入消息并选择用户将消息手动发送”.
这不是完全正确的。有一个方法名为Firebase 主题消息传递,它只允许您向特定的用户段发送通知。您必须从应用程序中注册该主题,然后,您可以根据用户订阅的主题向您的用户组发送自定义消息。
https://stackoverflow.com/questions/57466076
复制