iOS 推送通知 客户端实现

关于推送,已经有很多文章了,我写一下自己在做推送时候的一些个人理解,对于如何取证书还有服务器实现网上有现成代码,不在累述。如果有说的不对的地方,希望大家指正。
首先:

-(BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions


在这个方法里添加上

 

UIRemoteNotificationType  types= UIRemoteNotificationTypeSound|UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert;

   [[UIApplicationsharedApplication]registerForRemoteNotificationTypes:types];

这里表明 一共注册三种类型badge,alert,和sound


会在第一次使用时候提醒用户是否接受推送,(只会提醒一次),当用户选择允许之后会在

 

-(void)application:(UIApplication *)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

这个方法里取得设备的token号,然后发送给你们的服务器(因为token不是永远不变的,建议在程序轮询取一次,存好)




当用户选择不允许的时候或者此时使用模拟器的时候会实现该方法

 

-(void)application:(UIApplication *)applicationdidFailToRegisterForRemoteNotificationsWithError:(NSError *)error



当用户正在使用该程序的时候,可以用一个alertview提醒用户,(主要是为了与自己服务器通信,取得一次最新数据)

 

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

{


    

   //当用户打开程序时候收到远程通知后执行  

    if (application.applicationState == UIApplicationStateActive) { 

 

       UIAlertView*alertView = [[UIAlertViewalloc] initWithTitle:@"新消息提示" 

                                                  message:[NSString stringWithFormat:@"\n%@",  

                                                          [[userInfo objectForKey:@"aps"] objectForKey:@"alert"]]  

                                                 delegate:self  

                                          cancelButtonTitle:@"确定" 

                                          otherButtonTitles:nil];  

       


       

       [alertView show];  

        [alertView release];  

 

      

       

    }  

       

}


在这里与服务器通信

-(void) alertView:(UIAlertView *)alertViewclickedButtonAtIndex:(NSInteger)buttonIndex

{


}



另外:

可以在这个方法里面把icon图标数字变为零,(这个主要根据软件需要)

-( void )applicationDidBecomeActive:( UIApplication *)application

{

   [[UIApplicationsharedApplication]setApplicationIconBadgeNumber:0];

  

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值