`
houchangxi
  • 浏览: 64618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

APNS 服务

阅读更多
APNs --Apple Push Notification Service
(图片来源--apple 开发文档


标注:APNs 苹果推送服务器
Device 安装带有推送服务程序的iPhone手机
Provider 程序服务器,把需要推送的信息发给 APNs
DeviceToken 
在Device第一次连接APNs时,由APNs生成的经过加密的连接认证信息。在以后的连接中,无论时Provider到APNs还是APNs到Device 都需要 DeviceToken作为认证。
Payload  需要推送的消息的主体内容。alert-alert消息的消息体,按键标题等badge-显示在程序icon右上角的数字,sound-声音提示文件的文件名,该声音资源文件要在程序包中。

整体流程大体分为五个步骤:
1:
Device --> 连接-->  APNs  获取 DeviceToken
          2: Device -->连接-->  Provider 提供DeviceToken
                                             
3:
Provider侦测需要push的消息生成Notification信息

4:  Provider侦把要push的消息推送到APNs
5:   APNs把该消息推送到手机
               


使用方法:
为了获取deviceToken
第一步:获取认证书Certificates.p12   [注释:.p12 文件,文件名可以随便取]
Certificates.p12 认证书 是用于服务器与APNs服务器SSL 连接时的认证,而获取p12的前提是获取APNs Assistant

1:每个程序都要在apple开发中心生成 
App ID.

2:单击app id 的后面的
Configure

3:在新的页面中,勾选
Enable Push Notification Services , 而后点击Configure ,随后出现APNs Assistant,APNs助手会引导生成你的程序与APNs服务器进行SSL连接的认证书App ID specific Client SSL certificate[注释:一般文件名为“aps_developer_identity.cer” 可修改]

4:APNs助手会引导你保存SSL certificate到你的硬盘,保存好后双击,安装到你的keychain

5:  执行完以上四步,可以点击Done,关闭APNs助手。

6:启动Keychain Access程序,查看刚才安装的认证,name 为apple Development/Production  push Services。。。
导出--即获得Certificates.p12 保存好给Provider 服务器使用


第二步:iPhone 端
iPhone provisioning  以开启了PUSH功能App ID 生成相应的provisioning。

iPhone需要用到的方法函数如下:

//注册启用 push
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge /*|UIRemoteNotificationTypeSound*/)];

//用该判断 程序是不是通过push消息启动的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

//iPhone 从APNs服务器获取
deviceToken后激活该方法
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

//注册push功能失败 后 返回错误信息,执行相应的处理
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err



注意:
deviceToken的处理
[[devToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]

调测试方法:
Device
调试运行iPhone端程序,以获取deviceToken 为成功标志。

Provider
网上有个共开发测试的Provider程序:
PushMeBaby
使用的方法是,
1;拷贝注册获取的SSL certificate文件【.cer文件】重命名为 apns.cer 添加到PushMeBaby资源文件夹中
2: 运行,输入 iPhone端获取的deviceToken
3: 推送
以Device 程序获得相应消息为成功标志。

 

分享到:
评论

相关推荐

    APNS消息推送服务端

    APNS(Apple Push Notification service)是苹果公司提供的一项服务,用于向iOS、iPadOS、watchOS、tvOS以及macOS设备发送远程通知。通过APNS,应用开发者可以在他们的应用程序不在前台运行时,仍然能够向用户发送...

    Java向苹果服务器推送消息(Java实现HTTP/2协议发送APNS)

    APNs(Apple Push Notification service)是苹果公司提供的推送服务,允许开发者将消息推送到用户的iOS设备上。本教程将重点讲解如何使用Java实现基于HTTP/2协议的APNS推送,并假设你已经对JDK 11及以上版本有一定的...

    C# .net 实现APNS

    在IT行业中,苹果推送通知服务(Apple Push Notification Service,简称APNS)是苹果公司提供的一项服务,用于向iOS、iPadOS、watchOS以及macOS设备发送实时的通知。开发者可以使用APNS来实现在应用程序不在前台运行...

    notnoop-java-apns.zip_com.notnoop.apns_java apns_notnoop apns_no

    在Java开发环境中,当需要构建一个能够向Apple Push Notification Service (APNS)发送推送通知的服务时,`notnoop-java-apns`是一个常用的第三方库。这个压缩包`notnoop-java-apns.zip`包含了开发者用于实现这一功能...

    最新java整合APNS推送服务

    Java整合APNS推送服务是将Java应用程序与Apple Push Notification Service(APNS)相结合,以便能够向iOS和tvOS设备发送即时消息。APNS是苹果公司提供的一个服务,它允许开发者在用户不打开应用的情况下,向他们的...

    基于Java语言实现的苹果推送服务APNS4J设计源码

    该项目是一款基于Java语言实现的苹果推送服务APNS客户端库——APNS4J的设计源码,共包含37个文件,主要包括31个Java源文件、1个Git忽略文件、1个YAML配置文件、1个LICENSE文件、1个README文本文件、1个Markdown文件...

    java调用apns推送的实现

    Java调用APNs(Apple Push Notification service)推送是iOS应用开发者在进行远程通知服务时常见的需求。APNs是苹果提供的一项服务,允许开发者将实时消息推送到用户的iOS设备上,如应用更新、消息提醒等。在Java...

    Java_APNS:Java APNS 服务器

    Java APNS,全称为Apple Push Notification service,是苹果公司提供的一项服务,允许应用程序开发者向iOS、iPadOS、watchOS和macOS设备发送实时通知。在Java中实现APNS服务器,可以让我们利用Java强大的编程能力来...

    ApnsPHP_apnsphp_php_

    APNSPHP是一个专门为苹果推送通知服务(Apple Push Notification service,简称APNs)设计的PHP库。这个库的主要目的是帮助PHP开发者方便地与苹果服务器进行通信,以便向iOS、macOS和watchOS设备发送推送通知。从...

    .net APNS推送

    APNS是苹果公司提供的服务,允许开发者通过云端将实时消息推送到iOS、iPadOS、watchOS以及macOS设备上的应用程序。下面将详细阐述.NET APNS推送的相关知识点。 1. **Apple Push Notification Service (APNS)**: ...

    C# apns 推送

    APNS(Apple Push Notification Service)是苹果公司提供的一个服务,用于向iOS、iPadOS、watchOS、tvOS等设备发送实时通知。开发者可以通过使用APNS来实现在应用未运行时向用户发送消息的功能,如新消息提醒、应用...

    关于IOS_APNS推送消息(iphone端+服务端)

    在iOS应用开发中,Apple Push Notification service (APNs) 是苹果公司提供的一个关键服务,用于向用户的iPhone设备发送远程通知。这些通知可以是系统级别的消息,也可以是应用程序自定义的内容,比如新消息提醒或者...

    iphone消息推送APNS

    **苹果推送通知服务(Apple Push Notification service,简称APNS)** APNS是苹果公司提供的一项服务,用于向iOS、iPadOS、watchOS、tvOS以及macOS设备推送通知。通过APNS,应用开发者可以在他们的应用不在前台运行...

    php实现的APNs服务端

    在iOS应用开发中,Apple Push Notification service(简称APNs)是一项关键的远程通知服务,它允许开发者向用户的设备发送消息,即使应用没有运行在前台也能接收到这些消息。本篇文章将深入探讨如何使用PHP来实现一...

    apns iphone源码下载

    APNs (Apple Push Notification service) 是苹果公司提供的一项服务,用于向iOS、iPadOS、watchOS、tvOS以及macOS设备发送即时推送通知。在本文中,我们将深入探讨APNs的工作原理、iPhone上的实现以及如何利用源码...

    APNS 苹果消息推送项目源码,运行即用,代码+数据库+文档全打包

    数据库部分使用了MYSQL,这意味着应用可能存储了用户注册设备所需的令牌(device token),这些令牌是APNs服务识别特定设备的唯一标识。数据库也可能包含了其他与推送通知相关的数据,如用户订阅、消息记录等。 ...

    C# 苹果推送后台APNS

    2. **错误重试策略**:遇到推送失败时,应根据错误类型决定是否重试,避免滥用APNS服务。 3. **设备Token管理**:及时更新和清理无效的设备Token,防止无效推送浪费资源。 4. **日志监控**:记录推送日志,方便...

    APNS push例子

    在iOS开发中,Apple Push Notification service(简称APNs)是一项至关重要的服务,它允许应用程序开发者向用户的设备发送远程通知,即使应用不在前台运行也能接收到这些消息。APNs的使用通常涉及服务器端和客户端两...

    iphone apns C#

    在iOS平台上,Apple Push Notification Service (APNs) 是苹果公司提供的一个服务,允许应用程序开发者向用户的设备发送远程通知。在本项目中,我们将探讨如何使用C#语言来实现iPhone的APNs推送。C#是一种广泛使用的...

    IOS推送APNS必须的三个包

    在iOS应用开发中,苹果推送通知服务(Apple Push Notification Service,简称APNS)是一项至关重要的功能,它允许应用在后台时接收服务器发送的通知,从而实时更新用户信息或提醒用户。要实现APNS,开发者通常需要...

Global site tag (gtag.js) - Google Analytics