iOS API Reference

recevieMessage

– (NSString*)recevieMessage:(NSDictionary*)msg;

  • 기능 AppDelegate(didReceiveRemoteNotification)에서 받은 메세지 내용을 가져옵니다.

  • 변수 msg : 보내진 푸시의 정보(NSDictionary)

  • 결과 메세지 문구

예제
//메세지 내용을 가져온다.
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
 
    NSString *message = [_fingerManager recevieMessage:userInfo];
 
}

receviveBadge

– (NSInteger)receviveBadge:(NSDictionary*)msg;

  • 기능 AppDelegate(didReceiveRemoteNotification)에서 받은 메세지에서 뱃지값을 가져옵니다.

  • 변수 msg : 보내진 푸시의 정보(NSDictionary)

  • 결과 posts : 뱃지수

예제
//메세지를 받았을 때 
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
 
    application.applicationIconBadgeNumber = [_fingerManager receviveBadge:userInfo];
 
}

receviveMessageTag

– (NSString*)receviveMessageTag:(NSDictionary*)msg;

  • 기능 AppDelegate(didReceiveRemoteNotification)에서 받은 메세지에서 메세지태그값을 가져옵니다.

  • 변수 msg : 보내진 푸시의 정보(NSDictionary)

  • 결과 메세지태그

예제
//메세지를 받았을 때 
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
 
    strTag = [_fingerManager receviveMessageTag:userInfo];
 
}

registerUserWithBlock

– (void)registerUserWithBlock:(NSData *)token :(void (^)(NSString *posts, NSError *error))block;

DeviceToken 은 OS에 의해 변경될 수 있습니다. 따라서, 앱 실행 시마다 호출해야 합니다.

  • 기능 핑거푸시 서버에 기기 토큰값을 저장하는 매서드 입니다.

  • 변수 token : 토큰값 didRegisterForRemoteNotificationsWithDeviceToken에서 받은 deviceToken(NSData)로 입력

  • 결과 posts : 결과코드 값 리턴

예제
//appdelegate에 구현
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
//기기등록
    [_fingerManager registerUserWithBlock:deviceToken :^(NSString *posts, NSError *error) {
        if (!error)
        {
            NSLog(@"기기등록  %@", posts);        
        }else{
            NSLog(@"기기등록 error %@", error);        
        }
    }
    ];
}

requestGetAllTagListWithBlock

– (void)requestGetAllTagListWithBlock:(void (^)(NSArray *posts, NSError *error))block;

  • 기능 앱에 등록된 모든 태그(그룹)명 조회합니다.

  • 변수

  • 결과 posts : 결과코드 error : error내용

예제
[[finger sharedData] requestGetAllTagListWithBlock:^(NSArray *posts, NSError *error) {
     
    NSLog(@"posts %@ / error : %@", posts,error);
         
}];
결과
//post 결과
{
    date = "2014-08-14 16:35:11.0";            //등록일
    tag = tag2;                                //태그명
},
{
    date = "2014-08-14 16:35:06.0";            //등록일
    tag = tag1;                                //태그명
}

requestGetAppReportWithBlock

– (void)requestGetAppReportWithBlock:(void (^)(NSDictionary *posts, NSError *error))block;

  • 기능 핑거푸시의 등록된 앱의 버정보 등 모든 정보를 가져옵니다.

  • 변수

  • 결과 posts : 결과코드 error : error내용

예제
[[finger sharedData] requestGetAppReportWithBlock:^(NSDictionary *posts, NSError *error) {
 
    NSLog(@"posts : %@  error : %@",posts,error);
 
}];
결과
//결과 항목
code : 결과코드(200 : 정상처리, 403 : 권한 없음, 404 : 해당 디바이스에 등록된 식별자 없음, 500 : 처리중 에러, 503 : 필수값없음) 
message : 결과 메세지 
info : 결과 내용
    - user_id : 앱 등록자 아이디 
    - app_name : 앱 이름
    - appid : 앱 아이디 
    - icon : 앱 아이콘
    - category : 앱 카테고리명 
    - environments : 앱 구동 환경 : Development/Production 
    - beios : IOS 기기 지원여부 : Y/N 
    - beandroid : Android 기기 지원 여부 : Y/N 
    - ios_version : IOS 버전 
    - ios_int_version : IOS 숫자 버전 
    - ios_last_int_version : IOS 마지막 숫자 버전 
    - android_version : Android 버전 
    - android_int_version : Android 숫자 버전 
    - android_last_int_version : Android 마지막 숫자 버전 
    - ios_upd_link IOS : 업데이트 링크 
    - android_upd_link : Android 업데이트 링크 
    - beupdalert_i : IOS 버전 강제 업데이트 여부 Y/N 
    - beupdalert_a : Android 버전 강제 업데이트 여부 Y/N 
    - ver_update_date_i : IOS 버전 업데이트 일 
    - ver_update_date_a : Android 버전 업데이트 일

requestGetDeviceTagListWithBlock

– (void)requestGetDeviceTagListWithBlock:(void (^)(NSArray *posts, NSError *error))block;

  • 기능 기기가 등록된 태그명 리스트를 조회합니다.

  • 변수

  • 결과 posts : 태그리스트(Array) error : error내용

예제
[[finger sharedData] requestGetDeviceTagListWithBlock:^(NSArray *posts, NSError *error) {
         
    NSLog(@"posts %@ / error : %@", posts,error);
         
}];
결과
//post 결과
{
    date = "2014-08-14 16:35:11.0";            //등록일
    tag = tag2;                                //태그명
},
{
    date = "2014-08-14 16:35:06.0";            //등록일
    tag = tag1;                                //태그명
}

requestPushCheckWithBlock

– (void)requestPushCheckWithBlock:(NSDictionary*)param :(void (^)(NSString *posts, NSError *error))block;

  • 기능 통계를 위한 메세지 수신확인 서버에 보내는 매서드 입니다.

  • 변수 param : 푸시 메세지 리스트에서 받은 메세지

  • 결과 posts : 결과 코드

예제
[fingerManager  requestPushCheckWithBlock:strTag :^(NSString *posts, NSError *error) { 
    if (!error) {
        NSLog(@"check : %@", posts);
    }else{
        NSLog(@"check error %@", error);
    }
)];

requestPushContentWithBlock

-(void)requestPushContentWithBlock:(NSString*)strMsgTag :(NSString*)strMsgMode :(void (^)(NSDictionary *posts, NSError *error))block;

  • 기능 핑거푸시 서버에서 발송된 푸시 내용을 가져옵니다.

  • 변수 strMsgTag : 보내진 푸시의 고유 태그 strMsgMode : 보내진 푸시 메세지의 모드(DEFT,LNGT,STOS)

  • 결과 posts : 보낸메세지(NSDictionary) 내용

예제
NSString *msgTag = pushList["msgTag"];
 
[[finger sharedData] requestPushContentWithBlock:msgTag :@"DEFT" :^(NSDictionary *posts, NSError *error){
 
        NSLog(@"posts : %@  error : %@",posts,error);
 
}];
결과
//posts내용
{
    content = “test1”;             //메세지 내용
    date = 20140820142304; ;       //메세지 보낸 날짜
    imgUrl = "";                   //보낸 이미지 url  
    link = "";                     //링크
    lngt_message" = "";            //롱텍스트
    mode = DEFT;                   //메세지 모드 (DEFT,LNGT,STOS)
    msgTag = 447;                  //메세지 고유 태그
    title = 201408201422;          //메세지 제목        
    type = "";                     //메세지타입(현재 사용하고 있지않음)
    label_name = "";               //라벨 이름
    cd1 = “cv1”                    //커스텀 테이터1
    cd2 = “cv2”                    //커스텀 테이터2
    cd3 = “cv3”                    //커스텀 테이터3
}

requestPushContentWithBlock

– (void)requestPushContentWithBlock:(NSDictionary*)param :(void (^)(NSDictionary *posts, NSError *error))block;

  • 기능 핑거푸시 서버에서 보내진 푸시 내용을 가져옵니다.

  • 변수 param: 푸시 메세지 리스트에서 받은 메세지

  • 결과 posts : 보낸 메세지(NSDictionary) 내용

예제
[[finger sharedData] requestPushContentWithBlock:self.userInfo :^(NSDictionary *posts, NSError *error) {
        
        NSLog(@"posts : %@  error : %@",posts,error);
 
}];
결과
//posts내용
{
    content = “안녕하세요";        //메세지 내용
    date = 20140408115537;      //메세지 보낸 날짜
    imgUrl = "";                //보낸 이미지 url
    link = "";                  //링크
    lngt_message" = "";         //롱텍스트
    mode = DEFT;                //메세지 모드 (DEFT,LNGT,STOS)
    msgTag = 64;                //메세지 고유 태그
    title = “”;                 //메세지 제목
    type = "";                  //메세지 타입
    label_name = "";            //라벨 이름
}

requestPushInfoWithBlock

– (void)requestPushInfoWithBlock:(void (^)(NSDictionary *posts, NSError *error))block;

  • 기능 기기 설정 정보를 요청합니다.

  • 변수

  • 결과 posts : 해당 기기 설정 정보

예제
[[finger sharedData] requestPushInfoWithBlock:^(NSDictionary *posts, NSError *error) {
         
    NSLog(@"posts : %@  error : %@",posts,error);
         
}];
결과
//posts 내용
{    
    activity = A;                                //푸시 수신 활성화상태 (A : 활성화 , D : 비활성화) 
    ad_activity = A;                             //광고 푸시 수신 활성화상태 (A : 활성화 , D : 비활성화)
    appid = 4DYLX09CM9EOED7GBTEPS8GR841YVUNT;    //핑거푸시 앱아이디 
    "device_type" = I;                           //디바이스타입 (i:IOS , A : ANDROID)
    identity = “testId";                         //디바이스 식별자
    appver = "1.0.1";                            //앱 버전명
    country = "South Korea";                     //국가명
    osver = "11.4.1";                            //iOS 버전
    timezone = 540;                              //타임존
    appintver = 22;                              //앱설정코드(plist에서 설정)
}

requestPushListPageWithBlock

– (void)requestPushListPageWithBlock:(int)page Cnt:(int)cnt :(void (^)(NSDictionary *posts, NSError *error))block;

  • 기능 서버에서 보내진 푸시 리스트를 페이징으로 요청합니다.

  • 변수 page : 호출할 페이지 cnt : 한 페이지에 리스트 갯수

  • 결과 posts : 보낸 메세지(NSDictionary)의 내역(NSArray) 리스트

  • 메시지 모드 DEFT : 일반 푸시 짧은 텍스트 LNGT : 일반 푸시 긴 텍스트 STOS : 서버투서버

예제
[[finger sharedData] requestPushListPageWithBlock:2 Cnt:10 :^(NSDictionary *posts, NSError *error) {
 
        NSLog(@"posts : %@  error : %@",posts,error);
 
}];
결과
//호출한 메세지 (posts)
{
    msgTag = 49;            // 메세지 고유 태그
    date = 20140407164931;  // 일자
    title = “”;             // 메세지 제목
    content = "test ";      // 메세지 내용
    opened = N;             // 수신확인여부
    mode = DEFT;            // 메세지 모드
    image_yn = N            // 이미지 첨부 여부(Y/N)
    imgUrl = “”             // 이미지 url
    lcode = “”              // 메세지 라벨 코드
    link = “”               // 웹 링크
    code_yn = N             // 커스텀 테이터 사용 여부(Y/N)
    // ※ 커스텀 데이터가 있을 경우만 노출
    custom_key_1 : custom_value_1
    custom_key_2 : custom_value_2
    custom_key_3 : custom_value_3
}
{
    msgTag = 49;            // 메세지 고유 태그
    date = 20140407164931;  // 일자
    title = “”;             // 메세지 제목
    content = "test ";      // 메세지 내용
    opened = N;             // 수신확인여부
    mode = DEFT;            // 메세지 모드
    image_yn = N            // 이미지 첨부 여부(Y/N)
    imgUrl = “”             // 이미지 url
    lcode = “”              // 메세지 라벨 코드
    link = “”               // 웹 링크
    code_yn = N             // 커스텀 테이터 사용 여부(Y/N)
    // ※ 커스텀 데이터가 있을 경우만 노출
    custom_key_1 : custom_value_1
    custom_key_2 : custom_value_2
    custom_key_3 : custom_value_3
}
{
    ...
        ...
        ...
}

requestPushListWithBlock

– (void)requestPushListWithBlock:(void (^)(NSArray *posts, NSError *error))block;

  • 기능 서버에서 발송된 푸시 리스트를 요청합니다.

  • 변수

  • 결과 posts : 보낸메세지(NSDictionary)의 내역(NSArray) 리스트

  • 메시지 모드

    DEFT : 일반 푸시 짧은 텍스트

    LNGT : 일반 푸시 긴 텍스트

    STOS : 서버투서버

예제
[[finger sharedData] requestPushListPageWithBlock:2 Cnt:10 :^(NSDictionary *posts, NSError *error) {
 
        NSLog(@"posts : %@  error : %@",posts,error);
 
}];
결과
//호출한 메세지 (posts)
    {
        msgTag = 49;            // 메세지 고유 태그
        date = 20140407164931;  // 일자
        title = “”;             // 메세지 제목
        content = "test ";      // 메세지 내용
        opened = N;             // 수신확인여부
        mode = DEFT;            // 메세지 모드
        image_yn = N            // 이미지 첨부 여부(Y/N)
        imgUrl = “”             // 이미지 url
        lcode = “”              // 메세지 라벨 코드
        link = “”               // 웹 링크
        code_yn = N             // 커스텀 테이터 사용 여부(Y/N)
        // ※ 커스텀 데이터가 있을 경우만 노출
        custom_key_1 : custom_value_1
        custom_key_2 : custom_value_2
        custom_key_3 : custom_value_3
    }
    {
        msgTag = 49;            // 메세지 고유 태그
        date = 20140407164931;  // 일자
        title = “”;             // 메세지 제목
        content = "test ";      // 메세지 내용
        opened = N;             // 수신확인여부
        mode = DEFT;            // 메세지 모드
        image_yn = N            // 이미지 첨부 여부(Y/N)
        imgUrl = “”             // 이미지 url
        lcode = “”              // 메세지 라벨 코드
        link = “”               // 웹 링크
        code_yn = N             // 커스텀 테이터 사용 여부(Y/N)
        // ※ 커스텀 데이터가 있을 경우만 노출
        custom_key_1 : custom_value_1
        custom_key_2 : custom_value_2
        custom_key_3 : custom_value_3
    }
    {
     ...
     ...
     ...
    }

requestRecevieImgWithBlock

– (void)requestRecevieImgWithBlock:(NSDictionary*)msg :(void (^)(NSData *posts, NSError *error))block;

  • 기능 푸시 리스트나 푸시 내용에서 이미지를 가져옵니다.

  • 변수 msg : 보내진 푸시의 정보(NSDictionary)

  • 결과 posts : 이미지 데이터

예제
//메시지를 받았을 경우에 이미지를 가져온다
[fingerManager requestRecevieImgWithBlock:posts :^(NSData *posts, NSError *error) {
    if (!error) {
        //이미지로 변환
        UIImage* img = [UIImage imageWithData:posts];
        [imgv setImage:img];
    }
}];

requestRegIdWithBlock

– (void)requestRegIdWithBlock:(NSString*)param :(void (^)(NSString *posts, NSError *error))block;

  • 기능 기기의 아이디를 설정합니다.(타겟팅 푸시에서 사용)

  • 변수 param : 등록할 아이디명(아이디 길이는 50byte이내)

  • 결과 posts : 결과코드 error : error내용

예제
[[finger sharedData] requestRegIdWithBlock:@"fingerPush@kissoft.co.kr" :^(NSString *posts, NSError *error) {
    if (!error){
        NSLog(@"requestRegIdWithBlock %@", posts);
    }else{
        NSLog(@"error requestRegIdWithBlock %@", error);
    }
}];

requestRegUniqIdWithBlock

– (void)requestRegUniqIdWithBlock:(NSString*)identity isAlram:(BOOL)isAlram msg:(NSString*)AlramMsg :(void (^)(NSString *posts, NSError *error))block;

requestRegIdWithBlock을 사용하다 requestRegUniqIdWithBlock로 변경하시면 타켓팅 푸시 수신이 정상적으로 안될 수 있습니다.

SDK 3.0.4 이후 가능합니다.

  • 기능 기기의 고유 식별자(아이디)를 설정합니다.(다른 기기에 등록된 식별자는 삭제됩니다.)

  • 변수 identity : 등록할 식별자명(아이디 길이는 50byte이내) isAlram : 기존에 등록된 식별자(삭제될 기기)에 메세지(삭제안내) 발송 여부 AlramMsg : 기존에 등록된 식별자(삭제될 기기)에 메세지(삭제안내) 내용. nil 거나 @"" 일 경우 기본메세지 내용으로 발송 기본메세지 : "다른 기기에서 식별자가 설정 되었습니다."

  • 결과 posts : 결과코드 error : error내용

예제
[[finger sharedData] requestRegUniqIdWithBlock:@"fingerPush@kissoft.co.kr" isAlram:YES msg:@"delete your push id" :^(NSString *posts, NSError *error) {
    if (!error){
        NSLog(@"requestRegUniqIdWithBlock: %@", posts);
    }else{
        NSLog(@"error requestRegUniqIdWithBlock: %@", error);
    }
}];

requestRegTagWithBlock

– (void)requestRegTagWithBlock:(NSArray*)param :(void (^)(NSString *posts, NSError *error))block;

  • 기능 기기의 태그(그룹)를 등록합니다.

  • 변수 param : 등록할 그룹명(NSArray)

  • 결과 posts : 결과코드 error : error내용

예제
NSArray *arrParam = [txtTagNm.text componentsSeparatedByString:@","]; //태그 저장        
     
[[finger sharedData] requestRegTagWithBlock:arrParam :^(NSString *posts, NSError *error) {
    //posts 결과코드
    if (!error) {
        NSLog(@"requestRegTagWithBlock %@", posts);
    }else{ 
        NSLog(@"error requestRegTagWithBlock %@", error);
    }
}];

requestRemoveIdWithBlock

– (void)requestRemoveIdWithBlock:(void (^)(NSString *posts, NSError *error))block;

  • 기능 기기의 아이디를 삭제합니다.(서버투서버에서 사용)

  • 변수

  • 결과 posts : 결과코드 error : error내용

예제
[[finger sharedData] requestRemoveIdWithBlock:^(NSString *posts, NSError *error) {
    if (!error) {
        NSLog(@"requestRemoveIdWithBlock %@", posts);
        strIdenti = @"";
        self.tableView reloadData];
    }else{ 
        NSLog(@"error requestRemoveIdWithBlock %@", error);
    }
    [self.refreshControl endRefreshing];
];

requestRemoveTagWithBlock

– (void)requestRemoveTagWithBlock:(NSArray*)param :(void (^)(NSString *posts, NSError *error))block;

  • 기능 기기의 태그(그룹)를 삭제합니다.

  • 변수 param : 삭제 할 그룹명(NSArray)

  • 결과 posts : 결과코드 error : error내용

예제
NSArray *arrParam = [txtTagNm.text componentsSeparatedByString:@","]; //태그 저장        
     
[[finger sharedData] requestRemoveTagWithBlock:arrParam :^(NSString *posts, NSError *error) {
    //posts 결과코드
    if (!error) {
        NSLog(@"requestRemoveTagWithBlock %@", posts);
    }else{ 
        NSLog(@"error requestRemoveTagWithBlock %@", error);
    }
}];

requestRemoveAllTagWithBlock

– (void)requestRemoveAllTagWithBlock:(void (^)(NSString *posts, NSError *error))block;

  • 기능 내 기기의 태그(그룹)를 전체 삭제합니다.

  • 변수

  • 결과 posts : 결과코드 error : error내용

예제
[[finger sharedData] requestRemoveAllTagWithBlock :^(NSString *posts, NSError *error) {
    //posts 결과코드
    if (!error) {
        NSLog(@"requestRemoveAllTagWithBlock %@", posts);
    }else{ 
        NSLog(@"error requestRemoveAllTagWithBlock %@", error);
    }
}];

requestSetAdPushEnable

– (void)requestSetAdPushEnable:(BOOL)is_ :(void (^)(NSString *posts, NSError *error))block;

  • 기능 푸시 광고수신 활성화 on-off 가능

  • 변수 is_ : YES - 활성화 , NO – 비활성화

  • 결과 posts : 결과코드 error : error내용

예제
//푸시 광고수신 활성화
[fingerManager requestSetAdPushEnable:YES :^(NSString *posts, NSError *error) {
    if (!error){
        //성공시
        NSLog(@"push set : %@", posts);
    }else{
        //실패시
            NSLog(@"posts set error %@", error);
    }
}];
예제
//푸시 광고수신 기능 비활성화
[fingerManager requestSetAdPushEnable:NO :^(NSString *posts, NSError *error) {
    if (!error){
        //성공시
        NSLog(@"push set : %@", posts);
    }else{
        //실패시
        NSLog(@"posts set error %@", error);
    }
}];

setEnable

– (void)setEnable:(BOOL)is_ :(void (^)(NSString *posts, NSError *error))block;

  • 기능 푸시 활성화 on-off 가능

  • 변수 is_ : YES - 활성화 , NO – 비활성화

  • 결과 posts : 결과코드 error : error내용

예제
//푸시기능 활성화
[fingerManager setEnable:YES :^(NSString *posts, NSError *error) {
    if (!error){
        //성공시
        NSLog(@"push set : %@", posts);
    }else{
        //실패시
        NSLog(@"posts set error %@", error);
    }
}];
예제
//푸시기능 비활성화
[fingerManager setEnable:NO :^(NSString *posts, NSError *error) {
    if (!error){
        //성공시
        NSLog(@"push set : %@", posts);
    }else{
        //실패시
        NSLog(@"posts set error %@", error);
    }
}];

receviveCode

+ (NSDictionary*)receviveCode:(NSDictionary*)msg;

  • 기능 AppDelegate(didReceiveRemoteNotification)에서 받은 푸시 메세지에서 푸시 정보를 NSDictionary형태로 가져옵니다.

  • 변수 msg : 보내진 푸시의 정보(NSDictionary)

  • 결과 posts : (NSDictionary*) 푸시 정보 예) CD:0; //앱링크 존재 여부(1:있음 0:없음) IM:0; //이미지 존재 여부(1:있음 0:없음) WL:0; //웹링크 존재 여부(1:있음 0:없음) PT:DEFT; //메세지 타입(DEFT:일반푸시, STOS:Server to Server, LNGT:롱푸시)

예제
//메세지를 받았을 때 
 NSDictionary* dicCode = [finger receviveCode:userInfo];

keyChainNotUse

+ (void)keyChainNotUse

  • 기능 키체인 미사용(defualt 키체인 사용) 앱 시작 시 해당 API를 호출하면, 앱 삭제 후 재설치 시 이전 설치에서 설정한 데이터(identity, tag, list 등)들을 가져오지 못하고 새로운 기기로 인식합니다. 다시 키체인을 사용할 경우 +(void)keyChainUse를 사용합다.

예제
//didFinishLaunchingWithOptions:
 [finger keyChainNotUse];

Last updated