본문 바로가기
iPhone 개발

Push Service 만들기- 2.Push 클라이언트 예제

by GoodDev 2012. 10. 17.

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 를 구축하면 됩니다.

댓글