>我有一个跨平台的应用程序,我想向登录用户发送有关其消息的通知。
现在我对推送、本地通知的使用感到困惑。 我认为推送通知是,它用于向用户发送公告,而公告仅与其帐户无关。
谁能帮我解决我应该使用什么?我已经在我的一个应用程序中使用了具有此要求的本地通知。
它主要取决于; 数据是来自本地还是远程?
您无法控制用户何时打开应用,只有当他们打开应用(少数例外(时,您才能提取数据。然后,使用该数据,您将能够安排本地通知。但在大多数情况下,这没有多大意义,因为他们已经加载并且可能看到了数据。例如,只有当您安排闹钟时,它才有意义。
当您希望数据来自远程时,例如当他们收到消息时,您必须使用推送通知。然后提醒用户新数据可用,而无需自己去寻找。它被推给他们。
但是,对于推送通知,您将需要使用本地通知时没有的基础结构。你将需要一个服务器来处理推送通知(Azure 为此提供了一些很棒的功能(和一些触发器来发送推送通知。这可以是数据库上的插入,也可以是计划任务。此外,用户必须启用推送通知,并且您的应用程序必须自行注册才能接收它们。第一次实施它可能会很痛苦。
这取决于您发送通知的原因。
本地通知在设备上本地发送,因此不需要互联网连接。示例可以是:
- 当用户过生日时发送生日消息
- 在收获游戏中,当商店已满时发送本地通知
推送通知是从服务器发送的,它需要您设备上的互联网才能接收它。例子:
- 当应用程序未打开时,您在聊天中收到一条消息(如果我理解正确,这就是您的情况(
- 在游戏中:由服务器触发的实时事件
因此,在您的情况下,如果猜测您想在用户没有打开应用程序时通知他有关新消息的信息。此通知来自服务器,是推送通知。
如您所描述的,您希望发送有关登录用户的有关其消息的通知。 因此,这将是关于何时有消息发送给用户的实时通知,您需要通知用户。 因此,Apple拥有PushNotification
是您需要申请的最佳方法。 使用它,您可以直接通知用户有关新消息的信息。
为什么LocalNotification
在这种情况下没有用?
- 我认为消息传递是实时的东西。 本地通知不是为了这个。 它仅用于管理本地通知内容。 比如提醒或做添加的任务.. 等等