微软云技术Windows Azure专题(一):如何利用Service Bus向Windows商店应用推送消息

本文介绍了如何使用Windows Azure的Service Bus通知中心发送推送通知Windows商店应用程序。

 

先来明确一下大体上要做哪些步骤:

1.申请一个Windows应用商店的应用。(每个应用都有自己的身份识别标识,不然Windows Azure也不知道要将应用推送给谁)

2.在Windows Azure中创建一个Service Bus,然后在次Service Bus下创建一个通知中心。(其实推送可以用Mobile Service下的推送,但是建在Service Bus下是有好处的。具体原因后续讲解)

3.将第一步申请的应用通过代码连接到通知中心。

4.通过后台程序向通知中心发送推送,然后你的Windows商店应用就可以收到推送了。(哈哈,这一步是很神奇的,你可以用控制台程序、Winform程序、WPF程序等等发送推送。当然也可以用Cloud Service里边的服务向通知中心添加推送等等,方法多了去了)

 

下边开始说正事了。

 

第一步:申请Window应用商店的应用。

其实这个有点小儿科了,搞微软技术开发的谁都会,就简单的说一下。

1.先起个名字

 

2.建一个空项目

 

3.将应用和商店连接起来

 

4.然后获取你的应用的惟一身份标识和客户端密钥

 

 

第二部:在Windows Azure中创建一个Service Bus,并在该Service Bus中创建一个通知中心

 

1.点击最下方的新建按钮

 

2.我们就建立一个名为BestAppRecommendation的名称空间

 
 
 
3.再建立一个名为bestapp的通知中心
 
 
4.将刚才的程序包SID和客户端密钥配置好

 

 

第三部:将自己的应用通过代码连接到通知中心

1.首先要通过NugGet添加引用WindowsAzure.Messaging.Managed

 

2.要用到的引用有

usingWindows.Networking.PushNotifications;

usingMicrosoft.WindowsAzure.Messaging;

usingWindows.UI.Popups;

 

3.在App.xaml.cs中添加如下代码

private async void InitNotificationsAsync()
{
    var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();


var hub = new NotificationHub("<hub name>", "<connection string with listen access>");               
var result = await hub.RegisterNativeAsync(channel.Uri);


// Displays the registration ID so you know it was successful
if (result.RegistrationId != null)
{
    var dialog = new MessageDialog("Registration successful: " + result.RegistrationId);
    dialog.Commands.Add(new UICommand("OK"));
    await dialog.ShowAsync();
}


}

 

4.在App.cs的OnLanched()函数中添加InitNotificationsAsync();

 

5.不要忘了让你的程序支持Toast推送


 

第四步:通过后台程序向通知中心发送消息,然后你的Windows商店应用就可以获得推送了

1.建立一个控制台程序

 

2.通过NuGet获得WindowsAzure.ServiceBus的引用

3.添加usingMicrosoft.ServiceBus.Notifications;引用

4.在控制台程序的中添加如下函数

private static async void SendNotificationAsync()
{
    NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString("<connection string with full access>", "<hub name>");
    var toast = @"<toast><visual><binding template=""ToastText01""><text id=""1"">Hello from a .NET App!</text></binding></visual></toast>";
    await hub.SendWindowsNativeNotificationAsync(toast);
}

5.在控制台程序的Main函数中添加

SendNotificationAsync();

Console.ReadLine();

6.运行控制台程序,然后所有安装了刚才创建的Windows商店应用的电脑都会弹出如下推送消息

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值