`
stephen830
  • 浏览: 3011906 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

apple推送功能环境配置

 
阅读更多

 

 

apple推送功能环境配置

 

 

环境配置需要用到:

(1)mac电脑的 Keychain Access程序 (在Applications/Utilities下 )。中文环境名为 钥匙串访问 (在/应用程序/实用工具/钥匙串访问)

(2)apple网站 https://developer.apple.com/devcenter/ios/index.action  (99美金用户登录)

 

 

在读本篇文章之前,建议先阅读文章《iphone开发--真机测试 》!

 

 

 

 

具体配置步骤如下:

 

1. 生成证书签名请求( Certificate Signing Request, CSR

打开   Keychain Access程序。

 

输入邮件地址、常用名称;在“请求是”中选择“存储到磁盘”,点按钮[继续]。

 


选择证书存储的目录,设置存储文件名,这里我命名为  push2013.certSigningRequest ,然后点按钮[存储]。


点按钮[完成]。

 

2. 导出证书签名请求CSR的私钥。

 

 



 这里文件命名为 push2013.p12



 在密码和验证框中输入密码。


 

 

3. 创建APP ID

打开网站  https://developer.apple.com/devcenter/ios/index.action  并登录进入 iOS Provisioning Portal;

点右上角的按钮:

 



输入  Description 和 Bundle Identifier信息,注意:Bundle Identifier名称是你以后在XCode开发中的Bundle Identifier。因此,最好能根据项目名来设置。设置后,点右下角按钮   。

 

 

 找到,上面刚创建的名为push2013的应用,然后点链接“Configure”。

 



 在“Enable for Apple Push Notification service ”前面的方框内打勾,然后点行“Development Push SSL Certificate ”对应的按钮[Configure]。

 

如果是发布产品,则必须选择下面的【Producy Push SSL certificate】的Configure]按钮!

 



选择上面生成的CSR证书文件 :  push2013.certSigningRequest


 





点击图中的按钮   ,将推送的 SSL证书下载到本地,该证书文件名设置为 aps_development.cer 

然后点图中的按钮[Done]。

 


可以看到状态变为 了,然后点右下角的按钮[Done]。

 

 

  4.创建开发配置属性参数(Development Provisioning Profiles

 


进入菜单 [Provisioning ],然后点击右上角的按钮 


输入参数“Profile Name”(可以是任意名称),选中你的“Certificates”、选择上面创建的APP Id,选中你的“Devices”。

备注:如果没有配置“Certificates”和“Devices”,那么请先参考文章 

iphone开发--真机测试

 进行配置吧!

 

在参数确定后,点击右下角的按钮 

可以看到如下界面:



 前面创建的push2013_profile的status为“Pending”,然后刷新当前页面,直到出现下面的界面。



push2013_profile的status变为“Active”,就可以点击旁边的按钮[ ]。

下载到本地,文件名为 push2013_profile.mobileprovision 。

 

把你要用来测试的真机(ipad或iphone)接上你的MAC电脑。

 

然后双击文件push2013_profile.mobileprovision 运行,会自动打开XCODE的Organizer,并在你的真机中加入该文件。


 

5.在xcode中创建推送测试程序。


 

注意:图中方框内的“Bundle Identifier”必须和前面创建 APP ID中的“Bundle Identifier”相同。

 

项目创建后,修改 “AppDelegate.m ”的方法[didFinishLaunchingWithOptions]代码:

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    // Let the device know we want to receive push notifications
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
     (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
    
    return YES;
}
 

另外新增2个方法:

 

 

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    NSLog(@"My token is: %@", deviceToken);
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
    NSLog(@"Failed to get token, error: %@", error);
}
 

在运行前,请选择真机运行,而且真机必须是联网的,否则看不到推送效果!!

 

选择真机运行,如下图:



 

 

如果看不到真机,那么请先参考文章 

 

iphone开发--真机测试

 进行配置吧!

 

真机运行后,可以看到真机上有推送确认框。如下图:


点击按钮[好]。

 

另外在xcode的控制台看到输出信息,如下图:

会看到一个64个字符的号码,这个号码就是你的真机的推送ID,如果你要给这个真机发通知,则必须记下这个64位的号码。

 

这里,请记下你测试真机的推送ID。

 

6.创建推送通知发送服务程序,用来给真机发推送通知信息。

 

6.1 制作推送程序必须的证书。

 

通过上面的一系列操作,我们已经得到了3个主要的证书相关的文件。

为方便操作,请将这3个文件放在同一个目录下。

 

打开1个MAC终端(终端程序 位置如下图)

  

在终端上,进入到3个证书文件所在的目录。

执行命令:

 

openssl x509 -in aps_development.cer -inform der -out push2013cert.pem

  执行后,得到证书文件 push2013cert.pem

 

执行命令:

 

openssl pkcs12 -nocerts -out push2013key.pem -in push2013.p12

 执行后,输入密码(3次),然后会得到证书文件  push2013key.pem

 

执行命令:

 

cat push2013cert.pem push2013key.pem > push2013.pem

 这里得到的证书文件 push2013.pem ,就是推送程序需要的证书(php可以使用pem格式证书)。

 

 

如果是java或者.net开发的话,必须使用.p12格式的证书。

执行下面命令来制作p12证书:

 

 

openssl pkcs12 -export -inkey push2013key.pem -in push2013cert.pem -out push2013java.p12

得到的证书文件 push2013java.p12 就可以用用于java或.net开发。

 

 

6.2 创建一个简单的推送程序。

到了这里,我们已经准备了1个证书文件,1个测试真机的推送ID(就是上面所说的64位号码,注意空格符号要去掉)。

下面只需要1个程序就可以发推送通知了。

这里有1个现成的发送程序(php语言的),参见附件中的 simplepush.php.zip ,下载后解压得到文件 simplepush.php,将其放到与证书 push2013.pem相同目录下。

 

修改 simplepush.php 内容:


按照图中的提示信息,填写上对应的信息。注意:真机推送ID不要有空格。

 

文件中的 gateway.sandbox.push.apple.com:2195 是沙箱测试地址。2195是端口号。

 

文件修改好后,请先将真机运行程序退出(程序运行中看不到推送通知),然后在终端执行命令:

 

php simplepush.php

执行成功后,将显示:

 

Connected to APNS

Message successfully delivered

 

表示推送通知发送成功了!!!!

 

在测试真机上可以看到:


如果你看到的不一样,可能是真机上对于通知的配置不一样导致。


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 153.6 KB
  • 大小: 61.9 KB
  • 大小: 92.2 KB
  • 大小: 30.8 KB
  • 大小: 163.7 KB
  • 大小: 95.7 KB
  • 大小: 43.4 KB
  • 大小: 43.8 KB
  • 大小: 46.4 KB
  • 大小: 5.1 KB
  • 大小: 77.8 KB
  • 大小: 4.1 KB
  • 大小: 32.6 KB
  • 大小: 118.4 KB
  • 大小: 85 KB
  • 大小: 54.2 KB
  • 大小: 41.9 KB
  • 大小: 61.6 KB
  • 大小: 53.3 KB
  • 大小: 49.8 KB
  • 大小: 4.9 KB
  • 大小: 76.4 KB
  • 大小: 4.5 KB
  • 大小: 39.8 KB
  • 大小: 6.6 KB
  • 大小: 6.6 KB
  • 大小: 65.8 KB
  • 大小: 4 KB
  • 大小: 41.6 KB
  • 大小: 16.6 KB
  • 大小: 16.6 KB
  • 大小: 4.4 KB
  • 大小: 4.4 KB
  • 大小: 116.2 KB
  • 大小: 116.2 KB
  • 大小: 200.9 KB
  • 大小: 115.5 KB
  • 大小: 61.2 KB
  • 大小: 61.2 KB
  • 大小: 39.1 KB
  • 大小: 24.8 KB
  • 大小: 14.8 KB
  • 大小: 110.2 KB
  • 大小: 24.8 KB
  • 大小: 79.1 KB
  • 大小: 80.6 KB
  • 大小: 78 KB
分享到:
评论

相关推荐

    信鸽推送 android ,apple

    在这个场景下,我们关注的是“信鸽推送”服务,它支持对Android和Apple(iOS)设备进行消息推送。本文将详细探讨如何使用C#语言与信鸽推送API进行集成,实现跨平台的消息推送。 一、信鸽推送简介 信鸽推送是中国...

    apple 苹果推送

    在IT行业中,苹果推送(Apple Push Notification service,简称APNs)是苹果公司为开发者提供的一...无论是从源码层面理解其工作原理,还是在实际项目中运用这些工具,都能帮助我们更好地掌握苹果推送这一重要的功能。

    友盟推送配置教程iOS

    - Apple Push Notification service(APNs): 苹果推送通知服务。 - device token: 设备标识符,用于唯一识别一个设备,是实现推送通知的必要条件。 -AppDelegate.h: 应用程序代理头文件,用于处理应用程序级别的事件...

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

    Java向苹果服务器推送消息是iOS应用开发者经常遇到的需求,用于实时通知用户新的信息或系统状态。APNs(Apple Push Notification service)是苹果公司提供的推送服务,允许开发者将消息推送到用户的iOS设备上。本...

    最新java整合APNS推送服务

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

    Go-小米推送支持201706版本ios推送标题自定义铃声等功能

    在本文中,我们将深入探讨如何使用Go语言进行网络编程,特别是在小米推送平台上实现201706版本的iOS推送功能,包括自定义推送标题和铃声等特性。小米推送服务是一个强大的工具,允许开发者向小米设备发送消息,增强...

    消息推送demo

    开发者需要在Apple Developer Account中配置证书和密钥,并在应用中集成相应的SDK,以便接收和处理来自服务器的推送消息。 3. **Firebase Cloud Messaging (FCM)**:谷歌提供的跨平台推送服务,支持Android、iOS...

    ios原生集成极光推送

    3. **证书配置**:为了进行推送,需要在Apple Developer账号中创建APNs(Apple Push Notification service)证书。这包括创建SSL证书,下载并双击安装到钥匙串访问,然后导出.p12文件,上传至极光推送后台。 4. **...

    PushMeBaby ios推送通知测试工具

    苹果的推送通知服务(APNs,Apple Push Notification service)是实现这一功能的关键。当开发者想要向用户的iOS设备发送推送通知时,他们需要配置一个aps_developer_identity.cer证书,这个证书用于验证开发者有权...

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

    `iOS苹果推送apns测试工具.zip`文件包含的资源显然是为了帮助开发者测试APNs的功能和配置。以下是对APNs和相关测试工具的详细解释。 **苹果推送通知服务(APNs)** 1. **工作原理**:当应用程序注册APNs时,苹果...

    notnoop推送实例+证书配置注意事项

    在iOS应用开发中,苹果推送服务(Apple Push Notification service,简称APNs)是苹果提供的一种向用户设备发送通知的服务。`notnoop`是Java库,用于帮助开发者与APNs进行交互,实现远程推送通知功能。本文将深入...

    推送教程ppt

    #### 一、苹果推送基本流程及实现方法 **1.1 APNS推送机制概述** 苹果推送服务(Apple Push Notification service, APNS)是苹果公司提供的一项服务,用于向iOS设备推送消息。APNS推送机制主要包括三个参与方:应用...

    ios推送工具.zip

    7. **无需后台**: 描述中提到这个工具不需要后台,意味着开发者可以直接在Mac上使用这个工具进行推送通知的测试,而无需搭建或配置复杂的服务器环境。 8. **证书与Profile**: 在使用APNS之前,开发者需要获取苹果的...

    IOS远程推送开发手册

    《iOS远程推送开发手册》是一本详尽指导iOS开发者实现远程推送功能的资源集合,旨在帮助开发者们在项目中成功集成这一关键特性。远程推送(Remote Notification)是iOS设备与服务器间通信的重要手段,用于在应用程序...

    iOS推送测试工具 Mac版本

    这个Mac版本的Pusher可能是为开发者提供了一个本地化的环境,以便在Mac上直接测试iOS应用的推送功能,而无需依赖远程服务器或复杂的配置。 推送通知的工作原理基于苹果的Apple Push Notification service (APNs)。...

    ios 远程推送发送器

    总之,iOS远程推送发送器是一个强大的辅助工具,它可以帮助开发者快速测试和优化推送通知功能,确保在实际环境中能够正常工作。理解APNs的工作原理以及如何配置和使用这样的工具,对于提高用户体验和保持应用活跃度...

    苹果推送服务

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

    ios消息推送源码(含php服务端源码)

    在iOS应用开发中,消息推送是一项重要的功能,它能让开发者在用户不打开应用程序时,向他们发送通知。本文将深入探讨“ios消息推送源码”,包括PHP服务端的实现,适用于那些正在使用Xcode 6.1进行APNs(Apple Push ...

    IOS远程推送--PushMeBaby

    1. **配置开发和生产环境**:在使用PushMeBaby之前,你需要在Apple Developer Account中创建并配置相应的推送证书(Development和Production)。这两个证书分别用于在开发和发布阶段推送通知。 2. **安装和启动...

    android视频推送

    在Android平台上实现视频推送,尤其是基于RTSP(Real-Time Streaming Protocol)的技术,是移动应用开发中的一个重要领域。RTSP是一种应用层协议,主要用于控制多媒体数据的传输,常用于实时流媒体服务,如在线直播...

Global site tag (gtag.js) - Google Analytics