cordova - 如何使用 Azure 通知中心或 Azure 应用服务移动应用发送推送通知?

标签 cordova push-notification ionic2 azure-notificationhub

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

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

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

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

所以这给我留下了通知中心。我在 Azure 门户中创建了一个通知中心。

  • 我还能够在 Google FCM(我想以前是 GCM)中注册我的应用程序。也就是说,在 Firebase Cloud Management Console 中创建一个新应用并获取其服务器 key 以及发件人 ID。
  • 我也知道我需要在 Notification Hub 中的哪个位置添加该服务器 key (在 Notification Services > GCM 中)。
  • 我也有来自我新创建的通知中心的“访问策略”的连接字符串。
  • 最后,我知道我必须从 Apple、Windows、Windows Phone 服务中获取类似信息,才能将推送通知发送到我在这些平台上的应用程序。

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

    如果您能在以下方面帮助我,我将不胜感激:
  • 是否有人有关于如何使用 Azure 通知中心向混合应用程序(如 Ionic 2 和 Cordova 等)发送推送通知的好 Material 或链接?
  • 还是一个简单的示例,显示在设置时哪些工件去了哪里?比如,除了上面所做的之外,我还需要在 Azure Cloud 中做些什么。以及我在应用程序方面需要做的所有事情。

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

    最佳答案

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

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

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

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

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

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

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

    关于cordova - 如何使用 Azure 通知中心或 Azure 应用服务移动应用发送推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41817009/

    相关文章:

    php - Icenium/phonegap ios 推送通知和 php 处理

    java - Chromium WebView 不存在

    javascript - FirebaseError browserErrorMessage : "Failed to register a ServiceWorker: ServiceWorker script evaluation failed"

    jasmine - List 实例化期间出错! (ItemSliding -> List),使用 TestComponentBuilder 对 ionic2 组件进行单元测试

    css - 为什么 IONIC Tabs 导航栏出现在子页面中?

    angular - 同一页面上的 ionic3 多个滑动 slider

    android - Gradle同步失败:找不到任务 ':cdvPrintProps'上的参数的方法leftShift()

    cordova - Phonegap 构建应用程序中的 Paypal 捐赠按钮

    php推送通知失败

    ios - 在 APNS 通知上获得状态代码 = 11