2017-01-23 102 views
2

我在使用Azure通知中心或Azure应用服务移动应用程序在我的应用程序中运行(现在为期4天),以获取此推送通知功能。甚至很难找到用于将推送通知发送到我在Ionic 2中创建的移动应用程序(也用作常规桌面网站)的基本示例。如何使用Azure通知中心或Azure应用服务移动应用发送推送通知?

要添加到此,我对Azure云服务一般而言,还包括通知中心和/或移动应用程序。也许,这导致我不去看正确的地方。

通知中心和移动应用程序的Microsoft Azure文档对我来说非常混乱。我的意思是,我无法关注他们的文档,并找出了为我的Ionic 2 Hybrid应用程序实现推送通知功能的方法。所有的文档都围绕着Visual Studio和.Net(不是我的技能集),所以我无法为我的工作找出解决方案。

阅读越来越多后,似乎我不需要Azure中的移动应用程序功能。我认为只有当他们计划拥有移动应用程序的云后端时,才需要使用它。就我而言,我有自己的设置来部署我的应用程序。

因此,我留下了通知中心。我在Azure Portal中创建了一个通知中心。

  1. 我也能够在谷歌FCM(以前,GCM,我想)注册我的应用程序。也就是说,在Firebase云管理控制台中创建一个新应用程序,并获取其服务器密钥以及发件人ID。

  2. 我也知道在Notification Hub的哪里需要添加该服务器密钥(在通知服务> GCM中)。

  3. 我也有我的新创建的通知中心的“访问策略”的连接字符串。

  4. 最后,我知道我必须从Apple,Windows,Windows Phone服务获取类似信息,才能将推送通知发送到我的应用程序。

完成上述所有操作后,我仍然不知道下一步需要做什么才能使推送通知功能正常工作。

如果你能请帮我在我将不胜感激如下:

  • 没有任何人有一个很好的材料或有关如何使用Azure的通知集线器发送推送通知到混合应用程序的链接(如Ionic 2和Cordova等)?

  • 或者一个简单的示例,显示什么文物去哪里设置?就像我之前在Azure Cloud中需要做的除了上面所做的一样。我需要在我的应用程序端做什么。

我非常感谢,如果有人能请引导我在正确的方向。

+0

你是否已经通过[推送通知添加到您的Apache Cordova的应用程序(HTTPS发送了通知:// docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-cordova-get-started-push)? –

+0

感谢您的建议,Nikita,我之前曾在此链接上登陆过。但是,它显示了如何使用Visual Studio和.Net进行操作。所以,只要我到达那个部分,我就会忽略一些事情。我为我的开发使用Visual Studio代码,没有.Net。我不知道.Net,我可以使用Node。会再试一次。 – Gauzy

+0

忘掉这些步骤,并继续下一步,我们不需要后端进行测试通知。 –

回答

0
  • 是的,您不需要Azure移动应用程序服务,只需配置Azure通知中心(为您希望支持的平台添加服务器密钥)即可。
  • 在您的应用程序和后端中使用Notification Hubs REST Api而不是.NET包装。
+0

感谢您的回复,Baris。我会通过链接并试一试。如果我能够做到的话,我一定会回到这里发帖。 – Gauzy

0

我还卡在那里了一点,因为没有人真正给你什么样的零件做好高层描述。以下是Firebase和Android的摘要。

正如您所提到的,您已经创建了您的Firebase项目并将其注册到您的通知中心。

在您的Android应用中,您将其设置为使用Firebase并在连接时获取令牌。该令牌可让您将通知发送到该设备和该应用程序。该应用程序不需要知道有关通知中心的任何信息。就其而言,所有通知都来自Firebase。

通知中心适合的地方是你拿着该令牌并将其注册到集线器以及一些标签值。虽然应用程序可以在技术上进行此注册,但通常它只是将其令牌传递给您的后端服务器,然后该服务器将注册到设备的集线器。

一旦设备中的标记注册了标记,您现在可以向通知集线器上的该标记发送消息,并将其转发给Firebase服务器,然后该服务器将其发送到设备。

另一个关键部分是随标记值一起注册标记,您还可以使用模板注册该标记。模板是设备预期的格式,集线器会将通用通知重写为设备特定的格式。这意味着您可以向集线器上的标签发送一条消息,并且为该标签注册的所有设备都将收到重新格式化的消息,以匹配其平台所需的信息。这几乎是使用枢纽诗句直接发送到每个平台服务的全部原因。

您如何使用标签取决于您。一种常见的模式是为每个用户分配一个唯一的标签,然后在他们登录到服务器时使用该标签注册每个设备。这意味着他们会在所有设备上收到通知,而不管平台。