2016-11-24 78 views
0

场景:基于Azure中触发发送推送通知到Android

我们已经迁移我们的后端天青,作为分配新建分配FY的一部分,我们必须制定一个推送通知到的Android应用程序(即我们也从头开始)。基本上,我们有一个电子传感器,用于从环境中收集数据,并通过套接字发送(通过套接字)到我们的后端,后者将这些数据存储在mysql数据库中。

相同的后端也负责接收对Android应用程序的调用(此时也通过套接字)。该应用程序然后显示屏幕上的信息(以及其他功能)。

问题:

当后端从所述传感器(将被存储在通过所述应用程序的用户输入数据库设定点)接收的特定数据,我们想推送通知发送到所述Android应用。我们相信这可以在使用触发器和推送通知中心的Azure中实现。我们无法弄清楚的部分是如何/在哪里触发这个推送事件。首先,我们认为计时器触发将是一个解决方案。它似乎照顾了这项工作,但效率并不高,而且我们不知道是否有可能(或任何好的)在这个触发函数中对db进行查询。然后,我们认为在数据库中输入完成时实施触发器,这似乎是更好的解决方案。

问:

这是正确的方式来做到这一点?它可以实现吗?我们对Azure平台很陌生。

回答

1

根据你的描述,我不确定你为什么找到触发器来达到你的要求。在我看来,当后端从传感器接收数据时,您可以尝试直接在后端向Android应用发送推送通知。

有关如何使用来自Java的通知中心,可以参考here。此外,Azure还提供了其他语言的SDK和Rest API,在这里我假设您的后端位于Java平台中。

有关Azure通知中心的更多详细信息,请参阅https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-push-notification-overview

如有任何问题,请随时告诉我。

+0

感谢您的回复。我的后端分为两部分:一部分负责与传感器进行通信 - 在Mono中开发,第二个是用Java开发的,它与Android应用程序进行通信。两者共享相同的数据库。我开发了一个简单的assigment,我们使用了一个C#后端,它使用通知中心向Android应用发送推送。但现在我希望这个推动是由一个事件触发的。这就是为什么使用触发器似乎很好。 –

1

看一看Azure Functions

此建议是在事件中心发送推送通知,触发执行推送的Azure功能。

Azure函数基本上是无服务器代码,它按计划运行,或者由某些事情触发。一个触发器可以保存一个blob(文件),或者对一个事件中心上的消息做出反应,都很容易开始。如果您喜欢,也可以通过设置WebHook来触发代码。

函数是用C#或JavaScript编写的,它的优点是基本上不必编写应用程序。代码编译并运行,然后 - 输入和输出到一个函数也很容易设置。

+0

这正是我的第一站,但我完全相信这是正确的做法。我相信我必须实施它并亲眼看看。谢谢! –