当前位置: 首页 > 知识库问答 >
问题:

带登录系统的GCM

黄意智
2023-03-14

我目前正在使用登录系统将GCM实现到一个应用程序中。我想根据登录到应用程序的用户(一个设备,多个用户)向应用程序发送通知。我经历了这些过程。

  1. 以“用户A”身份登录

我不确定如何让应用程序识别登录到设备的用户,并将消息推送给该特定用户。而不是用户B登录并获得用户A的通知。任何意见和答案将高度赞赏!如果您需要检查我的项目的特定代码,请让我知道。

共有1个答案

冷浩瀚
2023-03-14

注册ID标识特定设备上的特定应用程序。它不知道用户在应用程序中的登录。因此,当您取消注册GCM(当用户注销时)时,您应该调用您的服务器,让它知道用户注销了。

这将让您的服务器知道该用户已注销,服务器将停止向其发送GCM消息。

在用户A注销和用户B登录后,您是否获得相同的注册ID并不重要(即使您获得了新的注册ID,旧的注册ID可能仍然有效。这就是为什么当设备有多个应用程序注册ID时,GCM返回规范注册ID)。

编辑:

让我们考虑一个特殊的场景(这应该是相对罕见的),用户A在服务器向其发送通知后注销,但只有在用户B登录后,谷歌才会向您的应用程序发送通知。处理这种情况最安全的方法是在应用程序中接收通知并丢弃它,不向用户B显示任何内容。为了知道何时丢弃接收到的通知,您可以向用户的通知数据中添加一个user属性名称作为其值。在应用中处理通知时,请在显示通知之前检查用户属性是否与登录用户匹配。

 类似资料:
  • 我正在学习C#并尝试用数据库做一个简单的登录系统,我遇到了一个System.TypeInitializationException错误:“'mysql.data.mysqlClient.mysqlConnectattrs'的类型初始化器引发了一个异常。 }

  • 首先要说一下,该部分内容对于linux初学者来讲并不是特别重要的,可以先跳过该章节,先学下一章,等学完后再回来看这一章。 Linux 大多应用于服务器,而服务器不可能像 PC 一样放在办公室,它们是放在 IDC 机房的,所以我平时登录 linux 系统都是通过远程登录的。Linux 系统中是通过 ssh 服务实现的远程登录功能。默认 ssh 服务开启了 22 端口,而且当我们安装完系统时,这个服务

  • 在多次尝试了使用 Amazon Cognito 前端授权无果,我转而使用和其它教程类似的 Auth0 授权登录。虽然 Amazon 提供了一个用于 Cognito 授权的前端组件,但是它仍然不是很成熟。在浏览器端,好像用得不是很普遍,而 Auth0 则是一个更通用的方案。 Auth0 是一家“身份验证即服务”提供商,旨在为开发人员提供简单易用的身份管理服务。为了保持灵活性和可扩展性,Auth0 身

  • 我想知道如何在Laravel 5.2中创建两个注册表格是最好的方法。我正在使用auth系统。我不想使用两个不同的控制器。 第一份注册表是为了注册我正在开发的应用程序。第二个是针对每个应用程序所有者注册的用户。 我在AuthController中考虑过这样的事情,但我不太相信:

  • 本文向大家介绍Python实现注册登录系统,包括了Python实现注册登录系统的使用技巧和注意事项,需要的朋友参考一下   表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。 表单按钮:包括提交按钮、复位按钮

  • 我将springBoot与JOOQ一起使用,并希望记录生成的SQL。 我将slf4J添加到maven依赖项和log4j.xml中,就像在JOOQ文档中一样(http://www.JOOQ.org/doc/latest/manual/sql-execution/logging/)。但是当jooq执行一些查询时,我在控制台中看不到任何日志。