我正在开发一个Android应用程序,用户可以在其中登录并可以查看收件箱中收到的邮件(每条邮件包含已存储在我的数据库中的时间,日期,主题和发件人信息)。有一个收件箱按钮,显示收件箱中收到的邮件数量作为徽章通知,如收件箱10中有10条邮件显示为徽章通知中的文本。我成功完成了所有这些,但我希望每当用户在其收件箱中收到任何消息时;通过推送通知将通知用户应用程序已打开或处于后台。我搜索了很多,但我不知道从哪里开始。 各种帮助表示赞赏! 提前谢谢。
答案 0 :(得分:1)
您至少可以通过两种方式处理您的问题。
第一种方法是实现AlarmManager
即将启动服务,将检查是否有新消息到达,如果是,您可以上升通知。但是这种方法的一些限制是你必须设置AlaramManager
一次触发服务,例如每15分钟一次,如果同时消息到达,用户将不会实时通知。 Actualy你可以继续运行服务,但这会是不好的做法,因为它会加速电池使用,如果需要自由空间,服务可能会被服务器杀死。
第二种方法是使用像FCM
这样的第三方客户端,它是免费的,但每条消息限制为4kb(通知消息),这实际上足以通知。通常,消息(通知消息)是从Firebase console
手动发送的,但如果您想在用户离线时提高通知,则必须包含data payload
以触发onMessageReceived
并提高通知。如果你想在应用程序处于后台时这样做,你需要自定义服务器端逻辑,因为这不能从firebase控制台。幸运的是,有教程如何做到这一点。本教程将帮助您设置FCM
:
https://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/
在这里,您可以找到用于发送消息的自定义PHP服务器: http://demo.androidhive.info/firebase/notifications/
答案 1 :(得分:0)
您可以使用Firebase Messaging