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];
??
}
總結
以上是生活随笔為你收集整理的iOS 推送通知 客户端实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快讯|长电科技宣布提供4D毫米波雷达封装
- 下一篇: 美团发布《2022年骑手权益保障社会责任