推送通知的实现
来源:互联网 发布:知乎校园奴隶契约 编辑:程序博客网 时间:2024/05/10 12:17
推送通知的实现
推送通知功能的实现,大致分三个模块:证书,代码,服务器
首先,第一块是证书,也是最容易出错的地方
要想app有推送功能,首先是必须将app注册,那就是生成带有推送功能的证书;这个必须到苹果开发者网站上去注册,并生成证书。
具体步骤如下:
首先生成钥匙证书,在本地操作:
给证书设置邮箱,及名字
邮箱最好是开发者邮箱,名字最好是app的名字,设置完成后,就保存。
这步完成后,就会生成一个.certSigningRequest 的文件,这时到keychain Access中的key中可以看到刚才生成的秘钥;接下来需要导出.p12文件:
导出时需要设置密码,一定要记住哦,后面会用到。
完成上面步骤,现在需要去苹果开发者网站上注册,并生成证书
这里有development和production两种;development是测试,production是发布用的;一般都需要这两种,以便测试;
生成推送通知证书,必须生成apple push .....的证书,如上图中的apple push.....;
要走下面的步骤,必须先设置一个appid,这个id是惟一的,而不是通配的
开始时可以先生成development的,按照提示走,最后会生成一个aps_development.cer文件;接着生成production的,最后会生成一个aps_production.cer文件。(这里面有一步是需要选择appid的,这时需要选择需要推送的app名字);将.cer文件下载下来,将其导入keychain Access中(双击就行)。
完成了上面的操作,就去生成.mobileprovision证书,生成完后将其下载下来,并将导入Xcode中;
第二步:代码块
在appDelegate中实现代码块;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//注册接收通知类型
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge
| UIRemoteNotificationTypeSound
| UIRemoteNotificationTypeAlert)];
//设置图标标记 ,这里设为0时,每次启动后,图标上的提醒数字就会消失;
application.applicationIconBadgeNumber = 1;
return YES;
}
注册后要实现下面方法:
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@”设备令牌: %@”, deviceToken); //这是服务器需要的
NSString *tokeStr = [NSString stringWithFormat:@"%@",deviceToken];
if ([tokeStr length] == 0) {
return;
}
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@”获得令牌失败: %@”, error);
}
第三步:发送消息的服务器
在这一步需要,传两个参数给服务器,一个是令牌(deviceToken);另一个是证书(密码是合成时设置的),这个证书文件需要开发者自己通过终端合成;这需要看你服务器需要什么合成文件。
首先,第一块是证书,也是最容易出错的地方
要想app有推送功能,首先是必须将app注册,那就是生成带有推送功能的证书;这个必须到苹果开发者网站上去注册,并生成证书。
具体步骤如下:
首先生成钥匙证书,在本地操作:
给证书设置邮箱,及名字
邮箱最好是开发者邮箱,名字最好是app的名字,设置完成后,就保存。
这步完成后,就会生成一个.certSigningRequest 的文件,这时到keychain Access中的key中可以看到刚才生成的秘钥;接下来需要导出.p12文件:
导出时需要设置密码,一定要记住哦,后面会用到。
完成上面步骤,现在需要去苹果开发者网站上注册,并生成证书
这里有development和production两种;development是测试,production是发布用的;一般都需要这两种,以便测试;
生成推送通知证书,必须生成apple push .....的证书,如上图中的apple push.....;
要走下面的步骤,必须先设置一个appid,这个id是惟一的,而不是通配的
开始时可以先生成development的,按照提示走,最后会生成一个aps_development.cer文件;接着生成production的,最后会生成一个aps_production.cer文件。(这里面有一步是需要选择appid的,这时需要选择需要推送的app名字);将.cer文件下载下来,将其导入keychain Access中(双击就行)。
完成了上面的操作,就去生成.mobileprovision证书,生成完后将其下载下来,并将导入Xcode中;
第二步:代码块
在appDelegate中实现代码块;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//注册接收通知类型
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge
| UIRemoteNotificationTypeSound
| UIRemoteNotificationTypeAlert)];
//设置图标标记 ,这里设为0时,每次启动后,图标上的提醒数字就会消失;
application.applicationIconBadgeNumber = 1;
return YES;
}
注册后要实现下面方法:
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@”设备令牌: %@”, deviceToken); //这是服务器需要的
NSString *tokeStr = [NSString stringWithFormat:@"%@",deviceToken];
if ([tokeStr length] == 0) {
return;
}
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@”获得令牌失败: %@”, error);
}
第三步:发送消息的服务器
在这一步需要,传两个参数给服务器,一个是令牌(deviceToken);另一个是证书(密码是合成时设置的),这个证书文件需要开发者自己通过终端合成;这需要看你服务器需要什么合成文件。
0 0
- 推送通知的实现
- 推送通知的实现
- iOS 推送通知的实现
- Android推送通知的实现--Android推送通知指南
- XZ_iOS中推送通知~本地推送通知的实现
- IOS推送通知的实现步骤
- IOS推送通知的实现步骤
- IOS推送通知的实现步骤
- Android实现本地推送通知的解决方案
- IOS推送通知的实现步骤
- Android实现本地推送通知的解决方案
- iOS推送通知实现
- Android实现推送通知
- 推送通知的跳转
- IOS推送通知实现步骤
- ios如何实现推送通知
- iphone 推送通知 java 实现
- iphone 推送通知 java 实现
- opencv常用图像(矩阵)操作函数
- c++中vector的用法详解
- (计算机网络)用Wireshark捕获并分析数据包
- ios开发-c语言之自增运算、sizeof、关系运算和逻辑运算的学习
- Android最佳性能实践(三)——高性能编码优化
- 推送通知的实现
- C++复杂对象之子对象
- PAT A1001. A+B Format
- 静态链表
- 判断文件(文件夹)的“存在和权限”
- 彻底解决JAVA和.net MD5加密中文不一致问题
- JSP乱码解决方案
- bulk collect用法小结
- JAVA IO流几个实用流对象