我正在尝试使用Azure通知中心向客户端发送推送通知。我读了这篇文章,它使用标签来识别每个用户。
https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-aspnet-backend-windows-dotnet-notify-users/
它可以完成这项工作,但标记的数量有限。我正在考虑存储和使用中心返回的注册ID。
是否有任何方法可以使用此ID发送通知?
另一种方法是使用该频道。WNS返回的URI。这能以某种方式实现吗?
关键字是TAG!如果您对任何已注册的设备(Android、IOS、Windows OS等)使用任何spesific标记,您可以向任何特定设备发送通知。
要做到这些,你应该一个接一个地遵循以下步骤;
Android客户端示例:
`/*you don't have to use Firebase infrastructure.
You may use other ways. It doesn't matter.*/`
String FCM_token = FirebaseInstanceId.getInstance().getToken();
NotificationHub hub = new NotificationHub(NotificationSettings.HubName,
NotificationSettings.HubListenConnectionString, context);
String registrationID = hub.register(FCM_token, "UniqueTagForThisDevice").getRegistrationId();
如您所见,我们为选定的Android设备使用了唯一的标签调用“UniqueTagForThisDevice”
。
“UniqueTagForThisDevice”
发送通知。使用Web API发送推送选定Android设备的服务器示例:
[HttpGet]
[Route("api/sendnotification/{deviceTag}")]
public async Task<IHttpActionResult> sendNotification(string deviceTag)
{
//deviceTag must be "UniqueTagForThisDevice" !!!
NotificationHubClient Hub = NotificationHubClient.CreateClientFromConnectionString("<DefaultFullSharedAccessSignature>");
var notif = "{ \"data\" : {\"message\":\"Hello Push\"}}";
NotificationOutcome outcome = await Notifications.Instance.Hub.SendGcmNativeNotificationAsync(notif,deviceTag);
if (outcome != null)
{
if (!((outcome.State == NotificationOutcomeState.Abandoned) ||
(outcome.State == NotificationOutcomeState.Unknown)))
{
return Ok("Push sent successfully.");
}
}
//Push sending is failed.
return InternalServerError();
}
注意:标签不必是deviceToken或类似的东西。它只需要为每个设备指定。但我建议您,如果您使用WebAPI,并且它与Owin中间件相关,那么您可能更喜欢用户名作为唯一标记。我认为,这更适用于应用场景。通过这种方式,您可以将通知从唯一的设备发送给唯一的用户;)
这就是全部。
实际上,NH只限制每个注册的标签数量,但每个中心,您可以根据需要拥有尽可能多的注册,并且每个注册可能具有唯一的标签,您可以使用这些标签来路由通知。
此外,还有用于通知中心的新安装API,我相信它更适合您。它仍然没有很好的文档记录,但做得很好,可以随时使用。在这里,您可以找到如何使用该API的简短描述。自述是关于Java的,但是。NET SDK具有几乎相同的功能(最终都调用相同的REST API)。
如何通过Azure从我的UWP-App向不同设备上的应用程序的其他实例发送推送通知? 以下是注册设备以接收推送的说明。(这是可行的)第二部分是关于如何在控制台应用程序上发送推送(这也是可行的)https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-star
我正在尝试使用parse.com推送通知服务向我的iOS应用添加推送通知,但我遇到了一些问题,我的一些设备没有收到通知。 当前代码 这似乎在某些设备上起作用(在同事的iPhone5上测试过--起作用了,在我老板的iPhone6上测试过--不起作用) 第43行: 警告2: /users/ds/code/rp-ios/rp/appdelegate.swift:44:25:iOS 8.0中不推荐使用“R
我在PushKit VoIP通知上发现了一些与Azure通知中心支持相关的帖子: https://social.msdn.microsoft.com/Forums/ie/en-US/afda14fe-1218-4ca1-a1ee-205ccd241d1a/support-for-apple-voip-pushkit-push-notifications?forum=notificationhubs
问题内容: 我已经在项目中实现了推送通知,到目前为止一切正常。我尝试过通过Pusher发送通知,但效果很好。但是我必须通过PHP发送它们,但尚无法使用。我发现了许多有关如何实现此目标的旧解释,但似乎没有一个对我有用。 这就是我要使用的方法: 问题答案: 尝试使用此php脚本,确保.pem证书在运行时以与该php脚本相同的路径退出,并获得正确的设备令牌
我正在尝试从远程服务器向应用程序进行非常简单的推送。 我已根据[1]在Azure上设置了通知中心,但我无法获取设备的调试消息。我不想使用移动服务从DB表读/写 我在Swift中这样做,但我在互联网上没有发现任何真正从服务器接收推送的是iOS Swift作为完整的教程。 例如,我不知道如何在swift中编写以下代码: 到目前为止,这是我在AppDelegate中的代码(我从[2]中获得的一些代码):
我正在尝试向Xamarin添加推送通知。使用本教程的iOS应用程序https://docs.microsoft.com/en-us/azure/notification-hubs/xamarin-notification-hubs-ios-push-notification-apns-get-started 我已经按原样完成了所有步骤,以下是我迄今为止尝试的步骤:- AppDelegate。反恐精