.net平台推送ios消息的实现方法

本文实例讲述了.net平台推送ios消息的实现方法。分享给大家供大家参考。

具体实现步骤如下:

1、ios应用程序中允许向客户推送消息

2、需要有苹果的证书以及密码(怎么获取,网上搜一下,需要交费的)

3、iphone手机一部,安装了该ios应用程序

4、.net 项目中引用PushSharp.Apple.dll,PushSharp.Core.dll(这两个文件在网上搜一下,有源码的)

5、开始写代码,定义全局的对象PushBroker pusher = new PushBroker();

6、注册方法:

代码如下:

protected void startApp()
{
 pusher.RegisterAppleService(new ApplePushChannelSettings(File.ReadAllBytes(CertificatePath), CertificatePassword));
 pusher.OnDeviceSubscriptionChanged += pusher_OnDeviceSubscriptionChanged;
 pusher.OnDeviceSubscriptionExpired += pusher_OnDeviceSubscriptionExpired;
 pusher.OnNotificationSent += pusher_OnNotificationSent;
 pusher.OnNotificationFailed += pusher_OnNotificationFailed;

}
static void pusher_OnNotificationFailed(object sender, INotification notification, Exception error)
{
    var n = (AppleNotification)notification;
    //error.Message ...获取推送出错的信息
    Log.Error("推送出错的信息", error);
}

static void pusher_OnNotificationSent(object sender, INotification notification)
{
    //消息推送成功后
    var n = (AppleNotification)notification;
    //n.Payload.Alert.Body  获取推送的消息内容...
    Log.Error("推送内容"+n.Payload.Alert.Body);
}

static void pusher_OnDeviceSubscriptionExpired(object sender, string expiredSubscriptionId, DateTime expirationDateUtc, INotification notification)
{
    // 从数据库删除过期的expiredSubscriptionId
}

static void pusher_OnDeviceSubscriptionChanged(object sender, string oldSubscriptionId, string newSubscriptionId, INotification notification)
{
    // 把数据库中的oldSubscriptionId更新为newSubscriptionId
}

startApp()方法中有两个参数:

CertificatePath:证书的路径
CertificatePassword:密码

7、推送代码:

代码如下:

pusher.QueueNotification(new AppleNotification().ForDeviceToken(TokenID)  .WithAlert("推送的内容").WithBadge(1).WithSound("default"));// 从数据库或者其他等地方获取设备的TokenID,每个iphone一个TokenID

8、准备好这些以后就可以测试,本人亲自测试通过,如果有什么不明白的地方欢迎留言交流!

9、如果想在Android设备上推送,项目要引进PushSharp.Android.dll,代码的话后期会为大家更新,敬请关注!

10、完整实例代码点击此处本站下载。

希望本文所述对大家的.net程序设计有所帮助。

(0)

相关推荐

  • SignalR Self Host+MVC等多端消息推送服务(一)

    一.概述 由于项目需要,最近公司项目里有个模块功能,需要使用到即时获得审批通知:原本的设计方案是使用ajax对服务器进行定时轮询查询,刚刚开始数据量和使用量不大的时候还好,后来使用量的增加和系统中各种业务的复杂度增加,服务器的压力也越来越大,于是我想使用消息推送的方式替换掉ajax轮询查询,当有审批提交时,调用推送方法,将消息推送到下一审批人那,这样就减低了服务器的压力. Signal 是微软支持的一个运行在.NET平台上的 html websocket 框架.它出现的主要目的是实现服务器主动推

  • .net 通过URL推送POST数据具体实现

    由于到了一家新公司重新开始接触MVC和其他的一些东西.所以的重新拾起许多东西. 前一段时间让我写一个和第三方公司推送对接的方法.通过对方提供的URL把数据post推送出去. 我把url到了web.config里 复制代码 代码如下: <add key="urlStrings" value="urladdress"/> 在.CS文件里 复制代码 代码如下: private string postString = System.Configuration.C

  • ASP.NET实现推送文件到浏览器的方法

    本文实例讲述了ASP.NET实现推送文件到浏览器的方法.分享给大家供大家参考.具体分析如下: 这里主要实现从服务器到浏览器,推送文件,提供用户下载/浏览的功能. 提示: 在AJAX UpdatePanel里面将无效.如果代码从按钮单击事件中被调用,该按钮需要在 AJAX UpdatePanel的外部. 具体代码如下: /// <summary> /// Downloads (pushes) file to the client browser. /// **** NOTE **** Canno

  • 使用SignalR推送服务在Android的实现 SignalA

    由于我的版本最低是2.2,所以只有把源码下下来自己改,如果你觉得太多了可自己编译成jar引用,本人不才,对java不是很熟悉,如果此版本中有错误还请大家指出来,此图显示的是安卓2.2与4.0的版本. chat_hub代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi

  • SignalR Self Host+MVC等多端消息推送服务(三)

    一.概述 最近项目确实太忙,而且身体也有点不舒服,慢性咽炎犯了,昨晚睡觉时喘不过气来,一直没休息好,也没什么时间写博客,今天朋友问我什么时候能出web端的消息发送的文章时,我还在忙着改项目的事,趁着中午吃饭和午休的时间,赶紧补上之前欠下的文章. 这章主要是实现多端消息相互通信的简单demo,mvc的web端发送信息到control端等. 二.创建web客户端 1.新建一个WebClient解决方案 2.在WebClient解决方案下新建一个名为Clinet mvc项目 3.根据自己实际情况选择对

  • 基于SignalR的消息推送与二维码扫描登录实现代码

    1 概要说明 使用微信扫描登录相信大家都不会陌生吧,二维码与手机结合产生了不同应用场景,基于二维码的应用更是比较广泛.为了满足ios.android客户端与web短信平台的结合,特开发了基于SinglarR消息推送机制的扫描登录.本系统涉及到以下知识点: SignalR:http://signalr.net/ 这官网,ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连接的

  • SignalR Self Host+MVC等多端消息推送服务(二)

    一.概述 上次的文章中我们简单的实现了SignalR自托管的服务端,今天我们来实现控制台程序调用SignalR服务端来实现推送信息,由于之前我们是打算做审批消息推送,所以我们的demo方向是做指定人发送信息,至于做聊天消息和全局广播,这里就不在进行演示了. 二.创建控制台客户端 1.在SignalRProject解决方案下新建一个名为Clinet的控制台 2.在程序包管理控制台中输入以下命令 Install-Package Microsoft.AspNet.SignalR.Client 3.修改

  • asp.net mvc实现简单的实时消息推送

    因为项目需要,需要在网页上实现消息的推送.在百度上搜索了一下,发现实现网页上的消息推送,可以使用asp.net 中的SignalR类库,当然也可以使用H5的WebSocket  Ajax的轮回.当然此处我们使用asp.net 中的SignalR类库.因为它可以实现网页上消息的实时推送.什么是实时推送呢,我简单的说一下我个人的理解吧.实时:在同一时间类发生的事情,当然在计算机中并不是绝对的实时,因为CPU在同一时间片只能处理一个任务,那么这个时候疑问又来了? 我们平时使用电脑又上网,又听音乐是如何

  • Asp.NET MVC中使用SignalR实现推送功能

    一.简介 Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架.它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请求或使用轮询技术来获取消息. 可访问其官方网站:https://github.com/SignalR/ 获取更多资讯. 二.Asp.net SignalR 是个什么东东 Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,SignalR会使用JavaScript的长轮询(lo

  • .net平台推送ios消息的实现方法

    本文实例讲述了.net平台推送ios消息的实现方法.分享给大家供大家参考. 具体实现步骤如下: 1.ios应用程序中允许向客户推送消息 2.需要有苹果的证书以及密码(怎么获取,网上搜一下,需要交费的) 3.iphone手机一部,安装了该ios应用程序 4..net 项目中引用PushSharp.Apple.dll,PushSharp.Core.dll(这两个文件在网上搜一下,有源码的) 5.开始写代码,定义全局的对象PushBroker pusher = new PushBroker(); 6.

  • C#微信公众号开发之接收事件推送与消息排重的方法

    本文实例讲述了C#微信公众号开发之接收事件推送与消息排重的方法.分享给大家供大家参考.具体分析如下: 微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次.这样的话,问题就来了.有这样一个场景:当用户关注微信账号时,获取当前用户信息,然后将信息写到数据库中.类似于pc端网站的注册.可能由于这个关注事件中,我们需要处理的业务逻辑比较复杂.如送积分啊,写用户日志啊,分配用户组啊.等等--一系列的逻辑需要执行,或者网络环境比较复杂,无法保证5秒内响应当前用户的操作,那如果当操作尚未完

  • 微信公众号服务号推送模板消息设置方法(后端java)

    目录 推送的模板消息示例如下 : 设置模板消息 编码 1. 添加依赖 2. SubscriptionMessageUtil.java 3. 配置参数 4. 使用 微信测试号 总结 模板消息文档 公众号的类型分为服务号.订阅号和企业号,其中服务号和订阅号比较常见.要想实现公众号推动消息给指定的用户,其类型必须为服务号. 推送的模板消息示例如下 : 设置模板消息 此处为正式环境的设置,开发环境可使用微信测试平台提供的测试账号体验和测试公众平台的所有高级接口,无需提前申请审核,详情见本文最后章节. 首

  • Python编程之微信推送模板消息功能示例

    本文实例讲述了Python微信推送模板消息功能.分享给大家供大家参考,具体如下: 官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432 具体代码如下: #!/usr/bin/env python #-*- coding: utf-8 -*- import httplib import json import MySQLdb #从数据库中获取access_token access_token="&quo

  • 微信服务号推送模板消息接口

    微信服务号现在用的比较火,用户可以通过微信号订阅信息,有时候会用到模板消息.下面贴上代码,有注释写的很详细.在此@access_token 请调用 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=@appid&secret=@secret 接口获取. 具体代码: public static void Send() { dynamic postData = new ExpandoObject

  • C#微信接口之推送模板消息功能示例

    本文实例讲述了C#微信接口之推送模板消息功能.分享给大家供大家参考,具体如下: public string SendTempletMessge() { string strReturn = string.Empty; try { #region 获取access_token string apiurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secr

  • 使用Python制作自动推送微信消息提醒的备忘录功能

    日常工作生活中,事情一多,就会忘记一些该做未做的事情.即使有时候把事情记录在了小本本上或者手机.电脑端备忘录上,也总会有查看不及时,导致错过的尴尬.如果有一款小工具,可以及时提醒,而不用再主动去查备忘录,化被动为主动,那就再合适不过了.因此,在这里我们就利用Python,实现这样的一款"小工具". 初步设想 毫无疑问,手机是当前使用最频繁的工具,没有之一.饭可以不吃,手机不可以不带.如果能在某些特定的时点,将备忘记录事项通过某种形式发送到手机端,通过查看手机端消息实现事项提醒,那将是再

  • Android手机端小米推送Demo解析和实现方法

    最近这几个月都是在准备找工作和找工作中,付出了很多,总算是有点收获,所以都没有怎么整理笔记.到了最近才有空把自己的笔记整理一下发上来,分享一下我的学习经验. 推送 由于最近项目要用到Android的消息推送,关于Android推送的解决方案有很多种,有C2DM,轮询, SMS,MQTT协议,XMPP协议和第三方平台,经过我们对项目需求的考虑之后我们选择了第三方平台推送的小米推送,下面就是小米推送的实现方法. 实现准备 想要用小米推送首先要去小米开发者平台注册申请开发者账号,经过1到3天的审核之后

  • C#推送信息到APNs的方法

    本文实例讲述了C#推送信息到APNs的方法.分享给大家供大家参考.具体实现方法如下: class Program { public static DateTime? Expiration { get; set; } public static readonly DateTime DoNotStore = DateTime.MinValue; private static readonly DateTime UNIX_EPOCH = new DateTime(1970, 1, 1, 0, 0, 0

  • 在小程序中推送模板消息的实现方法

    前段时间剁手了 PS4,在浏览商店时,发现官方商店真的不好用,主要是网络原因,次要是页面设计.所以就想自己做一个游戏查询的小程序,可以关注某个游戏,然后在这个游戏打折的时候发送通知给用户.最后发现有个很大的问题是:小程序没法直接给用户推送消息(当时还不知道模板消息),服务号才能.然后就用邮箱实现了通知功能,但是邮箱的局限实在是太大了(各大免费邮箱每天的发件数都很小,自己搭建的邮件服务器虽然没有发件限制,但是大概率会被放到垃圾箱). 然后某天在微信小程序的管理后台发现了模板消息这个东西,查了会资料

随机推荐