消息推送处理代码样列
来源:互联网 发布:netstat命令查看端口 编辑:程序博客网 时间:2024/05/16 14:38
http://www.cocoachina.com/bbs/read.php?tid-123567.html
#define push_server @"http://192.168.0.123/push/apns.php"
- (
BOOL
)application:(UIApplication *)application didFinishLaunchingWithOptions:(
NSDictionary
*)launchOptions {
/** 注册推送通知功能, */
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
application.applicationIconBadgeNumber = 0;
//判断程序是不是由推送服务完成的
if
(launchOptions) {
NSDictionary
* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if
(pushNotificationKey) {
application.applicationIconBadgeNumber = 0;
}
}
}
/** 接收从苹果服务器返回的唯一的设备token,然后发送给自己的服务端*/
- (
void
)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(
NSData
*)deviceToken {
NSString
* devices_token = [
NSString
stringWithFormat:@
"%@"
,deviceToken];
NSString
* devices_name = [[UIDevice currentDevice] name];
NSString
* devices_version = [[UIDevice currentDevice] systemVersion];
NSString
* devices_type = [[UIDevice currentDevice] model];
NSString
* mode = @
"Development"
;
NSString
*strUrl = [
NSString
stringWithFormat:@
"%@?action=registerDevices&devices_token=%@&devices_name=%@&devices_version=%@&devices_type=%@&mode=%@"
,
push_server,devices_token,devices_name,devices_version,devices_type,mode];
strUrl = [strUrl stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding
];
NSURL
*url = [
NSURL
URLWithString:strUrl];
NSURLRequest
*request = [[
NSURLRequest
alloc] initWithURL:url];
//发送URL请求
NSURLConnection
*connection = [[
NSURLConnection
alloc] initWithRequest:request delegate:
self
];
}
//程序处于启动状态,或者在后台运行时,会接收到推送消息,解析处理
- (
void
)application:(UIApplication *)application didReceiveRemoteNotification:(
NSDictionary
*)userInfo
{
NSLog
(@
"\napns -> didReceiveRemoteNotification,Receive Data:\n%@"
, userInfo);
//把icon上的标记数字设置为0,
application.applicationIconBadgeNumber = 0;
if
([[userInfo objectForKey:@
"aps"
] objectForKey:@
"alert"
]!=
NULL
) {
if
(application.applicationState ==UIApplicationStateActive){
[
self
alertNotice:@
"推送通知"
withMSG:[[userInfo objectForKey:@
"aps"
] objectForKey:@
"alert"
] cancleButtonTitle:@
"OK"
otherButtonTitle:
nil
];
}
NSString
*strUrl = [
NSString
stringWithFormat:@
"%@?action=cleanBadgeNumber&id=%@&badge=%d"
,
push_server,[[userInfo objectForKey:@
"aps"
] objectForKey:@
"id"
],0];
strUrl = [strUrl stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding
];
NSURL
*url = [
NSURL
URLWithString:strUrl];
NSURLRequest
*request = [[
NSURLRequest
alloc] initWithURL:url];
//发送URL请求
NSURLConnection
*connection = [[
NSURLConnection
alloc] initWithRequest:request delegate:
self
];
}
}
0 0
- 消息推送处理代码样列
- iOS -- 处理推送消息
- Ios关于推送消息的处理
- iOS8推送消息的快速回复处理
- iOS8推送消息的快速回复处理
- iOS8推送消息的快速回复处理
- iOS8推送消息的快速回复处理
- iOS8推送消息的快速回复处理
- iOS8推送消息的快速回复处理
- IOS推送消息处理跳转指定页面
- iOS8推送消息的快速回复处理
- iOS8推送消息的快速回复处理
- iOS8推送消息的快速回复处理
- iOS8推送消息的快速回复处理
- 接收到推送消息处理方法
- iOS-点击推送消息跳转处理
- iOS8推送消息的快速回复处理
- 消息推送业务逻辑处理 “MessageUI”
- 关于编译com工程的一些体会
- 微信公众帐号开发教程第18篇-应用实例之音乐搜索
- sqlite 管理工具 大全
- 小兔的棋盘(HDU 2067)
- 线程之QThread
- 消息推送处理代码样列
- nodeJs的基础语法
- 微信公众帐号开发教程第17篇-应用实例之智能翻译
- 微信公众帐号开发教程第16篇-应用实例之历史上的今天
- 第十二周项目2-OJ平台题目中多种输入形式的处理(2)分离正整数中的各位数
- 微信公众帐号开发教程第16篇-应用实例之历史上的今天
- SPOJ COWPIC(逆序对变形题)
- 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)
- Python的部分快捷键