【问题标题】:How to send Push Notifications using Azure Notification Hub or Azure App Service Mobile App?如何使用 Azure 通知中心或 Azure 应用服务移动应用发送推送通知?
【发布时间】:2017-06-08 14:12:34
【问题描述】:

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

此外,我对 Azure 云服务以及通知中心和/或移动应用程序完全陌生。也许,这导致我没有看对地方。

通知中心和移动应用程序的 Microsoft Azure 文档让我非常困惑。我的意思是,我无法遵循他们的文档并想办法为我的 Ionic 2 Hybrid 应用程序实现推送通知功能。所有文档都围绕 Visual Studio 和 .Net(不是我的技能),所以我无法为我的工作找出解决方案。

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

这让我有了通知中心。我在 Azure 门户中创建了一个通知中心。

  1. 我还能够在 Google FCM(我想以前是 GCM)中注册我的应用程序。也就是说,在 Firebase Cloud Management Console 中创建一个新应用并获取其服务器密钥以及发件人 ID。

  2. 我还知道我需要在 Notification Hub 中的哪个位置添加该服务器密钥(在 Notification Services > GCM 中)。

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

  4. 最后,我明白我必须从 Apple、Windows、Windows Phone 服务获取类似信息,才能将推送通知发送到我在这些平台上的应用程序。

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

如果您能在以下方面帮助我,我将不胜感激:

  • 有没有人有关于如何使用 Azure 通知中心向混合应用程序(如 Ionic 2 和 Cordova 等)发送推送通知的好材料或链接?

  • 或者是一个简单的示例,显示在设置时哪些工件去了哪里?比如,除了上面所做的之外,我还需要在 Azure Cloud 中做些什么。以及我在应用程序方面需要做的所有事情。

如果有人能指导我正确的方向,我将不胜感激。

【问题讨论】:

  • 感谢您的建议,Nikita,我之前确实登陆过该链接。但是,它展示了如何使用 Visual Studio 和 .Net 做事。所以,一旦我到达那部分,我就会忘记事情。我正在使用 Visual Studio Code 进行开发,但没有使用 .Net。我不知道 .Net,我可以使用 Node。会再试一次。
  • 忘记这些步骤,继续下一步,我们不需要后端来测试通知。

标签: cordova push-notification ionic2 azure-notificationhub


【解决方案1】:
  • 是的,您不需要 Azure 移动应用服务,只需配置一个 Azure 通知中心(为您要支持的平台添加服务器密钥)。
  • 在您的应用程序和后端使用Notification Hubs REST Api 而不是 .NET 包装器。

【讨论】:

  • 感谢您的回复,巴里斯。我将浏览链接并尝试一下。如果可以的话,我一定会回来发帖的。
【解决方案2】:

我也被困在那里,因为没有人真正给你一个很好的高级描述部件的作用。以下是 Firebase 和 Android 的摘要。

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

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

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

一旦设备中的令牌使用标签注册,您现在可以向通知中心上的该标签发送消息,它将转发到 Firebase 服务器,然后将其发送到设备。

另一个关键部分是使用标记值注册令牌,您也可以使用模板注册它。模板是设备期望的格式,集线器会将通用通知重写为设备特定格式。这意味着您可以将一条消息发送到集线器上的标签,并且为该标签注册的所有设备都将收到重新格式化以匹配其平台要求的消息。这几乎就是使用 hub verse 直接发送到每个平台服务的全部原因。

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

【讨论】:

  • 令人惊讶的是,我翻阅了 microsoft 的文档有多久了,却没有看到任何接近这种解释水平的东西。非常感谢!
【解决方案3】:

只需按照这两个步骤进行

For creating application in our platform and app service

Adding notification hub

通过在通知中心测试发送,您可以检查通知,不用担心后端代码。

如果没有应用服务,我们也可以使用通知中心的连接字符串发送通知

With out using app service

【讨论】:

    猜你喜欢
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多