IOS API Reference

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

 

	/*
	-기능
	   AppDelegate(didReceiveRemoteNotification)에서 받은 메세지내용을 가져온다.
	
	-변수
	  msg : 보내진 푸시의 정보 (NSDictionary)
	
	-결과
	  - 메세지 문구
	*/

 

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

 

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

 

	/*
	-기능
	   AppDelegate(didReceiveRemoteNotification)에서 받은 메세지에서 뱃지값을 가져온다.
	
	-변수
	  msg : 보내진 푸시의 정보 (NSDictionary)
	
	-결과
	  -posts : 뱃지수
	*/

 

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

 

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

 

	/*
	-기능
	   AppDelegate(didReceiveRemoteNotification)에서 받은 메세지에서 메세지태그값을 가져온다.
	
	-변수
	  msg : 보내진 푸시의 정보 (NSDictionary)
	
	-결과
	  메세지태그
	*/

 

	//메세지를 받았을때 
	(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
	
	    strTag = [_fingerManager receviveMessageTag:userInfo];
	
	}
– (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);        
	        }
	    }
	    ];
	}
– (void)requestGetAllTagListWithBlock:(void (^)(NSArray *posts, NSError *error))block;

 

	/*
	-기능
	   앱에 등록된 모든 태그(그룹)명 조회
	
	-변수
	   
	
	-결과
	   posts : 결과코드 
	   error : error내용
	*/
	//post 결과
	{
	   date = "2014-08-14 16:35:11.0";           //등록일
	   tag = tag2;                               //태그명
	},
	{
	    date = "2014-08-14 16:35:06.0";          //등록일
	    tag = tag1;                              //태그명
	}
– (void) requestGetAppReportWithBlock:(void (^)(NSDictionary *posts, NSError *error))block;

 

	/*
	-기능
	   핑거푸시의 등록된 앱의 버젼정보등 모든 정보를 가져온다.
	
	-변수
	  
	-결과
	   posts : 결과코드 
	   error : error내용
	*/
	    //결과 항목
	    code : 결과코드(200 : 정상처리, 403 : 권한 없음, 404 : 해당 디바이스에 등록된 식별자 없음, 500 : 처리중 에러, 503 : 필수값없음) 
	    message : 결과 메세지 
	    info : 결과 내용
	     - user_id : 앱 등록자 아이디 
	     - icon : 앱 아이콘 
	     - category : 앱 카테고리명 
	     - environments : 앱 구동 환경 : Development/Production 
	     - beios : IOS 기기 지원여부 : Y/N 
	     - beandroid : Android 기기 지원 여부 : Y/N 
	     - ios_version : IOS 버전 
	     - android_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 버전 업데이트 일

 

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

 

	/*
	-기능
	   기기가 등록된 태그명 리스트 조회
	
	-변수
	   
	-결과
	   posts : 태그리스트 (Array<Dictionary>)
	   error : error내용
	*/

 

	//post 결과
	{
	    date = "2014-08-14 16:35:11.0";            //등록일
	    tag = tag2;                                //태그명
	},
	{
	    date = "2014-08-14 16:35:06.0";            //등록일
	    tag = tag1;                                //태그명
	}
	

 

– (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);
	    }
	)];
-(void)requestPushContentWithBlock:(NSString*)strMsgTag :(NSString*)strMsgMode :(void (^)(NSDictionary *posts, NSError *error))block;

 

	/*
	- 기능
	   핑거푸시서버에서 발송된 푸시내용을 가져온다
	
	- 변수
	   strMsgTag: 보내진 푸시의 고유 태그
	   strMsgMode : 보내진 푸시메세지의 모드 (DEFT,LNGT,STOS)
	
	- 결과
	  -posts : 보낸메세지(NSDictionary) 내용
	*/

 

	//posts내용
	{
	    content = “test1”;             //메세지 내용
	    date = 20140820142304; ;       //메세지 보낸 날짜
	    imgUrl = "";                   //보낸 이미지 url  
	    link = "";                     //링크
	    lngt_message" = "";            //롱텍스트
	    mode = DEFT;                   //메세지 모드 (DEFT,LNGT,STOS)
	    msgTag = 447;                  //메세지 고유 태그
	    title = 201408201422;          //메세지 제목        
	    type = "";                     //메세지타입(현재 사용하고 있지않음)
	    cd1 = “cv1”                    //커스텀 테이터1
	    cd2 = “cv2”                    //커스텀 테이터2
	    cd3 = “cv3”                    //커스텀 테이터3
	}

 

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

 

	/*
	- 기능
	   핑거푸시서버에서 보내진 푸시내용 가져온다
	
	- 변수
	   param: 푸시 메세지 리스트에서 받은 메세지
	
	- 결과
	   posts : 보낸메세지(NSDictionary) 내용
	*/

	//posts내용
	{
	    content = “안녕하세요";     //메세지 내용
	    date = 20140408115537;      //메세지 보낸 날짜
	    imgUrl = "";                //보낸 이미지 url
	    msgTag = 64;                //메세지 고유 태그
	    title = “”;                 //메세지 제목
	    type = "";                  //메세지 타입
	}

 

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

 

	/*
	-기능
	   기기 설정정보 요청
	
	-변수  
	
	-결과
	  -posts : 해당 기기 설정 정보
	*/

 

	//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에서 설정)
	}

 

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

 

 

	/*
	- 기능
	   서버에서 보내진 푸시리스트 페이징으로 요청
	
	- 변수
	   page : 호출할 페이지       cnt : 한페이지에 리스트 갯수
	 
	- 결과
	   posts : 보낸메세지(NSDictionary)의 내역(NSArray) 리스트
	
	- 메세지 모드
	  - DEFT :  일반 푸시 짧은 텍스트
	  - LNGT : 일반 푸시 긴 텍스트
	  - STOS : 서버투서버
	
	*/

 

	//호출한메세지 (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
	}
	{
	 ...
	 ...
	 ...
	}

 

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

 

 

	/*
	- 기능
	  서버에서 발송된 푸시리스트 요청
	
	- 변수
	  없음
	
	- 결과
	  posts : 보낸메세지(NSDictionary)의 내역(NSArray) 리스트
	
	- 메세지 모드
	  - DEFT :  일반 푸시 짧은 텍스트
	  - LNGT : 일반 푸시 긴 텍스트
	  - STOS : 서버투서버
	*/

 

	//호출한메세지 (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
	}
	{
	 ...
	 ...
	 ...
	}
– (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];
	    }
	}];

 

– (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);
	}
}];

 

– (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);
    }
}];

 

– (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 결과코드
	}];

 

– (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];
	    }
	}];

 

– (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 결과코드
	}];

 

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

 

	/*
	-기능
	   내 기기의 태그(그룹)를 전체 삭제
	
	-결과
	   posts : 결과코드
	   error : error내용
	*/

 

	[[finger sharedData] requestRemoveAllTagWithBlock :^(NSString *posts, NSError *error) {
	    //posts 결과코드
	}];

 

– (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);
		}
	}];

 

– (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);
		}
	}];

 

+ (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];
+ (void)keyChainNotUse

 

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

 

//didFinishLaunchingWithOptions:
 [finger keyChainNotUse];