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

苹果信息推送服务(Apple Push Notification Service)使用总结

 
阅读更多
苹果信息推送服务(Apple Push Notification Service),是由苹果官方提供的消息推送服务。推送形式包括顶部消息条、声音以及badge number()有了APNS,应用程序可在任意状态接收到与程序有关的消息(包括运行状态not running,foreground以及background),由于在大多数情况下,iOS中最多只有一个应用能处于active状态,所以,APNS为应用的交互提供了极大的便利。
一:简介
在使用APNS之前,有这么几点需要了解:
1:APNS是免费的。只要有开发者账号便可以申请APNS证书。
2:APNS又是不可靠的,苹果对信息推送的可靠性不做任何保证。
3:APNS对消息的大小是有限制的,总容量不能超过256字节。

清楚了以上三条,各位应该对APNS适用的应用情景有所了解了。

APNS的工作流程如下图所示:

1 & 2:用户第一次安装应用并第一次启动时,会弹出对话框提示应用需要开通推送,是否允许,如果允许,应用会得到一个硬件token。
有三点需要注意:
第一,此token唯一与设备相关,同一设备上不同应用获取的token是一样的;
第二,当应用被卸载,然后重新安装时,确认对话框不会再出现,自动继承前一次安装的设置信息;
第三,推送设置可以在设置-通知中进行更改。可以选择开启消息框、声音以及badge number中的一种或多种。

3:应用将受到的token发送到服务端,也就是APNS消息的源头。
4:应用服务器通过token及证书向苹果的消息服务器发送消息。
5:苹果将接收到的消息发送到对应设备上的对应应用。
6:如果应用未处于Active状态(未启动或backgroud),默认设置下,屏幕顶部会弹出消息框,同时有声音提示,点击改消息框会进入应用,如不点击则应用图标上会有badge number出现。

二:使用步骤
APNS的使用并不复杂,但容易出错的环节比较多,特别是证书申请的部分,要特别的注意。
下面根据我按教程实际操作的步骤进行阐述:
准备工作:
A: 一个Xcode工程,我们将其命名为MyPushChat,以及一个对应的App ID.
B:一台能用于调试的iOS设备(APNS只能在实体设备上工作,模拟器无法运行)

step1:
在"应用程序-使用工具"中打开"钥匙串访问"(Keychain Access),如下图所示:


在接下来的对话框中选择存储到磁盘,邮件可随意填写,名称命名为MyPushChat


点击“继续”,将文件名设为"MyPushChat",点击存储。这样,会得到一个名为"MyPushChat.certSigningRequest"的文件,此文件要妥善保管。

从刚刚创建的csr文件中到处私钥,具体操作如下图所示



将导出的文件命名为MyPushChatKey.p12,并输入密码,请牢记此密码,这里姑且设为123456abc。
此时,我们已有文件MyPushChat.certSigningRequest,以及MyPushChatKey.p12

step2:
在App IDs中找到与MyPushChat对应的AppID, 点击右侧"Configure"按钮,勾选下图所示选择框:



点击”Development Push SSL Certificate“右侧的configure按钮,development版本的应用于测试,有效期只有一年,且只能使用苹果的APNS测试服务器,应用发布时需要申请Distributions版本的证书。Development与Distribution版本的证书获得的Token是不一样的。弹出框如下所示:



上传"MyPushChat.certSigningRequest"并点击Generate,片刻后证书生成完毕,下载,命名为“aps_developer_identity.cer”。

step3:
打开Provision Portal,点击New Provision,将Provision File命名为"MyPushChat",选择对应的App ID 以及Device并下载。得到文件MyPushChat.provision。双击导入此MyPushChat.Provision文件,如果一切正常,会弹出Orgnizer, 且显示界面如下所示:



更多请看...
分享到:
评论

相关推荐

    Apple Push Notification Service简介

    Apple Push Notification Service(简称 APNS)是苹果公司提供的一种推送通知服务,它允许开发者向用户设备上的应用发送实时更新的信息。这些信息可以是简单的文本消息、提醒或更新的应用程序图标数字徽标等。APNS ...

    使用android push notification service 实现即时通知

    在Android平台上,实现即时通知通常会借助Google的云消息推送服务(Google Cloud Messaging,简称GCM),但在iOS系统中,对应的则是Apple Push Notification service(APNs)。然而,这里提到的"android apns"可能是...

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

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

    苹果推送服务

    苹果推送服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项用于向iOS设备推送通知的服务,它允许开发者通过推送通知的方式向用户提供信息。这在移动应用开发中尤为重要,因为它有助于提高用户...

    苹果推送消息服务调试应用 Knuff.zip

    苹果推送消息服务调试应用 Knuff ,Knuff 是 APNs(Apple Push Notification Service,苹果信息推...

    apple 苹果推送

    在IT行业中,苹果推送(Apple Push Notification service,简称APNs)是苹果公司为开发者提供的一项服务,用于向iOS、macOS、watchOS以及tvOS设备发送实时的通知。这个服务允许应用在用户不活跃使用时仍然可以传递...

    java实现给Iphone推送消息

    APNS(Apple Push Notification Service)苹果推送通知服务。该技术由苹果公司提供的APNS服务。工作原理:首先,APNS会对用户进行物理连接认证,和设备令牌认证(简言之就是苹果的服务器检查设备里的证书已确定其为...

    苹果ios推送java服务端耗码demo

    在iOS应用开发中,苹果提供了远程通知(Apple Push Notification service,简称APNs)服务,使得开发者可以向用户的设备发送消息,即使应用没有在前台运行也能接收到这些消息。本篇文章将深入探讨如何在Java服务端...

    Laravel开发-laravel-push-notification

    它允许开发者轻松地向移动设备(如Apple Push Notifications (APN)、Google Cloud Messaging (GCM)、Windows Push Notification (WPN)以及BlackBerry设备)发送推送通知。 **1. Laravel框架介绍** Laravel是由...

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

    苹果推送服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项服务,允许开发者将实时的通知信息推送到iOS、macOS以及watchOS等设备上。这个“APNS 苹果消息推送项目源码,运行即用”包含了实现...

    苹果消息推送 java端

    苹果消息推送(Apple Push Notification service, APNs)是苹果公司为开发者提供的一项服务,用于向iOS、iPadOS、watchOS、tvOS以及macOS设备发送远程通知。在Java环境中实现APNs推送,需要掌握以下几个核心知识点:...

    iOS苹果推送apns测试工具.zip

    在iOS应用开发中,苹果推送服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项功能,允许开发者向已安装其应用的iOS设备发送消息、通知和其他数据。`iOS苹果推送apns测试工具.zip`文件包含的...

    pushlet:围绕 Apple Push Notification Service 和 Google Cloud Messaging Service 的简单 HTTP 包装器

    苹果推送通知 POST /message/apn appId - 必需 - 此应用程序的唯一标识符。 最有可能映射到客户端中应用程序的主键或唯一 ID。 deviceId - 必需 - 设备的 APNS 令牌 模式 - 必需 - 沙盒或生产,对应于要连接的 ...

    mac给苹果服务器发推送信息

    在苹果的生态系统中,Mac设备可以通过使用Apple Push Notification service (APNs) 向苹果服务器发送推送信息,从而向用户的应用程序传递实时的通知。APNs是苹果公司提供的一个服务,允许开发者将消息推送到用户的...

    苹果推送多线程

    在iOS应用开发中,苹果推送服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项功能,允许开发者向已安装其应用的用户发送实时通知。为了提高推送效率和响应速度,多线程技术常常被引入到APNs的...

    C#后台推送苹果手机消息

    这一过程通常涉及使用苹果的Push Notification Service (APNs)。 首先,了解APNs是关键。APNs是苹果提供的服务,它允许开发者向运行iOS、iPadOS、watchOS、tvOS等系统的设备发送即时推送通知。当应用在后台或完全...

    本地推送以及APNS推送push

    Apple Push Notification service(APNS)是苹果提供的一个远程推送服务,它允许服务器端向运行iOS、macOS的应用发送推送通知。以下是APNS的工作流程: 1. **获取证书**: 开发者在Apple Developer Portal中生成APNS...

    [其他文档] ios APNS推送服务器代码pushTest

    在iOS应用开发中,Apple Push Notification service(APNS)是一项重要的服务,允许开发者向用户的设备发送远程通知。本文将深入探讨APNS的工作原理、PHP服务器端实现以及如何使用`pushTest.php`进行推送。 首先,...

    苹果Push消息Mac服务端示例代码

    8. **通知服务扩展**:在Mac上,你可以通过Notification Service Extension来增强推送通知的功能,比如在通知到达时实时处理内容,添加自定义图像等。 9. **用户权限管理**:考虑到用户隐私,应用必须请求用户的...

    苹果推送代码

    在iOS应用开发中,苹果推送通知(Apple Push Notification service,简称APNs)是苹果公司提供的一项服务,允许应用程序在后台向用户的设备发送消息。当应用程序不在前台运行时,APNs可以将这些消息推送到用户的设备...

Global site tag (gtag.js) - Google Analytics