我们的后端使用Azure Notification Hub免费计划(用于测试),但有时推送未到达我们的ios应用程序。
是否有任何REST api或其他可以获取状态的地方 通知?
我尝试调用Per Message Telemetry,但是如果我使用授权令牌填充标题,则Azure不会向我发送任何响应。如果我在没有auth令牌的情况下调用此端点,则会得到401响应。
答案 0 :(得分:0)
您提到了两件可能导致问题的原因:Azure通知错误配置,凭据问题或IOS应用程序错误配置。这两种情况的解决方案是:
Azure Notifications Hub错误配置 如果没有通知,则第一步应确保在通知中心中配置正确的凭据,使其与在其特定于平台的开发人员帐户下创建的应用程序相匹配。
a)确保您的通知中心名称(没有拼写错误)相同:
您从客户注册的地方, 您从后端发送通知的位置, 您已配置PNS凭据的位置 您在客户端和后端配置了谁的SAS凭据。
b)确保在客户端和应用程序后端使用正确的SAS配置字符串。根据经验,您必须使用客户端上的DefaultListenSharedAccessSignature和应用程序后端的DefaultFullSharedAccessSignature(它允许向NH发送通知)
Apple推送通知服务(APNS)配置 您必须维护两个不同的集线器 - 一个用于生产,另一个用于测试目的。这意味着将要在沙箱环境中使用的证书上载到单独的集线器,并将要在生产中使用的证书上载到单独的集线器。不要尝试将不同类型的证书上载到同一个集线器,因为它可能会导致通知失败。如果您确实发现自己无意中将不同类型的证书上载到同一个集线器,建议您删除集线器并重新开始。如果由于某种原因,您至少无法删除集线器,则必须从集线器中删除所有现有注册。
有关分步指导和其他资源的信息,请查看特定于您的方案的MS文章:https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-push-notification-fixer