1. APNS에 해당 장비를 등록 요청하는 코드를 삽입합니다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
(NSDictionary *)launchOptions {
//APNS 에 장치 등록
[application registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)];
// Add the view controller's view to the window and display.
[window addSubview:viewController.view];
[window makeKeyAndVisible];
return YES;
}
아이폰의 세가지 형식의 알림이 있습니다.
UIRemoteNotificationTypeBadge : 배지 형태 알림 표시
UIRemoteNotificationTypeSound : 사운드 알림
UIRemoteNotificationTypeAlert : 경고창 알림
자신이 원하는 형식 별로 OR연산을 통해서 설정하면 됩니다.
2. 장치 등록 성공시 실행되는 함수
//push : APNS 에 장치 등록 성공시 자동실행
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSLog(@"deviceToken : %@", deviceToken);
/*
여기에 당신의 서버와 통신하는 부분을 만들것.
푸시를 누구에게 보낼지를 결정하는 것이 바로 deviceToken 값이다.
내가 운영할 서버에 deviceToken 를 보내서 보관하자.
*/
}
3. 푸쉬를 통한 실행시에 처리 되는 함수를 설정합니다. 어플이 실행중이라면 푸쉬메시지가 수신시에 하단 함수가 바로 호출되며, 어플이 수행중이 아니라면 사용자가 보기를 클릭한 경우만 하단 함수를 수행합니다.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:
(NSDictionary *)userInfo
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil
message:[[userInfo objectForKey:@"aps"]
objectForKey:@"alert"]
delegate:nil
cancelButtonTitle:@"확인"
otherButtonTitles:nil ,nil];
[alert show];
[alert release];
}
4. 장치 등록 오류시에 실행되는 함수를 설정합니다. 어떤 오류로 인해서 등록이 되지
않는지 알수 있습니다.
- (void)application:(UIApplication *)application
didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
NSLog(@"deviceToken error : %@", error);
}
이제 클라이언트 준비를 마쳤습니다. 이제 마지막으로 Push Provider 를 구축하면 됩니다.
댓글