Apns推送注意

deviceToken 
 a、正式环境下
 1、iOS7系统,同一设备的不同应用,devicetoken各不相同
 2、iOS6系统,同一设备的不同应用,devicetoken相同
 b、测试环境下
 1、iOS7系统,同一设备的不同应用,devicetoken各不相同
 2、iOS6系统,同一设备的不同应用,devicetoken各不相同
    因此可以理解为devicetoken对于不同应用不具有唯一性
    在系统设置中打开/关闭指定应用的通知功能,确认重新打开应用通知功能后仍然可以收到devicetoken,并且同一应用的devicetoken唯一,即便删除应用重新安装也会得到相同的devicetoken
    因此devicetoken对于同一应用具有唯一性
    关于升级系统版本
    有收到反馈,升级系统版本后,尚未进入应用(还有个更新后的点在图标那)仍然能够收到push。
    说明升级系统后同一应用的devicetoken仍然唯一
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现APNS消息推送,首先需要获取APNS的证书和密钥,然后使用C#的HttpClient类向APNS服务器发送HTTP/2请求。以下是一个简单的实现示例: ```csharp using System; using System.Net.Http; using System.Security.Cryptography.X509Certificates; using System.Threading.Tasks; namespace APNSDemo { class Program { static async Task Main(string[] args) { var deviceToken = "<device token>"; // 设备标识符 var message = "{\"aps\":{\"alert\":\"Hello, world!\"}}"; // 消息内容 // 构造HTTP/2请求 var request = new HttpRequestMessage(HttpMethod.Post, "https://api.push.apple.com/3/device/" + deviceToken); request.Version = new Version(2, 0); request.Content = new StringContent(message); request.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); // 加载APNS证书 var cert = new X509Certificate2("cert.p12", "<password>"); // 创建HTTP客户端 var handler = new HttpClientHandler(); handler.ClientCertificates.Add(cert); var client = new HttpClient(handler); // 发送HTTP请求 var response = await client.SendAsync(request); // 输出响应结果 Console.WriteLine(response.StatusCode); Console.WriteLine(await response.Content.ReadAsStringAsync()); } } } ``` 其中,`<device token>`是设备的标识符,`<password>`是APNS证书的密码,`<cert.p12>`是APNS证书的文件路径。注意APNS证书必须为`.p12`格式,且密码不能为空。 发送HTTP/2请求时,需要设置HTTP版本为`2.0`,并使用`application/json`格式的消息体。同时,需要在HTTP头部中添加APNS证书,以进行身份验证。 发送HTTP请求后,可以通过HTTP响应获取推送结果。如果推送成功,HTTP状态码为`200`,否则为`400`或`403`等错误码。响应消息体中包含推送服务返回的详细信息。 注意,为了保证消息的安全性和可靠性,APNS推送服务还有一些其他的限制和要求,如消息格式、推送速率等。具体限制详情请参考苹果官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值