모든 문서(일반 문서, 분류 문서, 파일(이미지, 사운드 등) 문서)는 분류가 달려 있어야 합니다.
--Administrator (토론)
Push 모듈 레퍼런스 가이드 (iOS)
상수
onReceivedGCMPush = 0x01, //onReceivedAPNSPush, Android Only
onReceivedLocalPush = 0x02
} Push_CallbackType;
Push_FALSE = 0,
Push_TRUE = 1
} Push_BoolType;
Callback Function
typedef void (*PushCallback)(Push_CallbackType callbackType, int pushID, int remainPushCallback)
-     Description
- Return Value
 
-     Description
- no return value 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - Push_CallbackType - callbackType - 미사용. 안드로이드 전용. - in - int - pushID - onReceivedLocalPush 일 경우 registerLocalpush() 에서 등록한 pushID 이다. - in - int - remainPushCallback - 남은 Callback 수 
 
 
-     Remark
- not comment
 
- Sample Code
 
-     Remark
- void PushCallbackFunc(Push_CallbackType callbackType, int pushID, int remainPushCallbackNum) {
 CS_knlPrintk(" --- > PushCallbackFunc reamainPushNum : %d", remainPushCallbackNum);
 switch(callbackType) {
 case onReceivedGCMPush:
 CS_knlPrintk(" --- > GCM_Push : %d", pushID);
 break;
 case onReceivedLocalPush:
 CS_knlPrintk(" --- > Local_Push : %d", pushID);
 break;
 default:
 CS_knlPrintk(" --- > PushCallback Default : %d, pushID : %d", callbackType, pushID);
 break;
 }
 }
 
 
Remote Push Notification
void CS_pushStartEx()
-     Description
- 푸시 초기화(디바이스 토큰 요청)를 진행합니다. 반드시 약관 동의 이후(ActiveUser 초기화로 did를 전달받은 이후) 호출하셔야합니다.
 
- Return Value
 
-     Description
- void 
 
 
-     Remark
- 3.5.0 이후 버전 사용 가능
 
 
-     Remark
void CS_hlpPushRegisterTokenEx(void* deviceToken)
-     Description
- 자사 Provider 서버에 토큰을 등록 합니다. - (void) application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 에서 호출합니다.
 
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - void* - deviceToken - (NSData *)deviceToken을 void*로 타입 캐스팅 하여 전달합니다. 
 
 
-     Remark
- 2.2.0이후 버전 사용 가능
 
 
-     Remark
void CS_hlpPushSendOpen(void* userInfo)
-     Description
- 리모트 푸쉬를 통하여 앱을 실행에 대한 로그를 모듈 서버로 전송합니다. - (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 에서 호출합니다.
 
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - void* - userInfo - (NSDictionary *) userInfo을 void*로 타입 캐스팅 하여 전달합니다. 
 
 
-     Remark
- 3.5.0 이후 버전 사용 가능
 
 
-     Remark
bool CS_pushSetUid(const char* uid)
-     Description
- 로그인/로그아웃 이후, 현재 uid를 푸시 서버로 전송합니다. 로그아웃 시에는 uid를 빈칸("")으로 하여 호출합니다.
 
- Return Value
 
-     Description
- uid 서버 전송 유무 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - const char* - uid - 로그인 성공 시 전달받은 uid를 char*로 타입 캐스팅 하여 전달합니다. 로그아웃 시에는 uid를 빈칸("")으로 하여 호출합니다. 
 
 
-     Remark
- 3.5.0 이후 버전 사용 가능
 
 
-     Remark
void CS_hlpPushUseTestServerEx()
-     Description
- 개발 프로비저닝으로 푸쉬 테스트를 하는 경우, 테스트 서버로 토큰을 등록하게 됩니다. (주의! Enterprise 계정은 Product 서버로 전송해야 합니다. CS_hlpPushUseTestServerEx 함수를 호출 하지 마세요.)
 
- Return Value
 
-     Description
- void 
 
 
-     Remark
- 2.2.0이후 버전 사용 가능
 
 
-     Remark
const char* CS_hlpPushGetVersionEx()
-     Description
- 현재의 푸쉬 버전을 리턴하는 함수 입니다.
 
- Return Value
 
-     Description
- 푸쉬 버전을 스트링으로 리턴 합니다. 
 
 
-     Remark
- 2.2.0이후 버전 사용 가능
 
 
-     Remark
Notification On / Off
void CS_pushSetAgree(Push_BoolType notice, Push_BoolType night)
-     Description
- 해당 유저의 Push 수신동의 여부를 서버로 전송합니다. 완료/실패 시 별도의 콜백을 제공하지 않습니다.
 3.5.0 이후 반드시 setUid 이후에 호출하셔야 정상진행됩니다.
 
- 해당 유저의 Push 수신동의 여부를 서버로 전송합니다. 완료/실패 시 별도의 콜백을 제공하지 않습니다.
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - Push_BoolType - notice - 공지알림 수신동의 여부 - in - Push_BoolType - night - 야간알림 수신동의 여부 
 
 
-     Remark
- 3.2.3이후 버전 사용 가능
 
 
-     Remark
Push_BoolType CS_pushGetAgreeNotice()
-     Description
- 해당 유저의 Push 공지알림 수신동의 여부를 가져옵니다.
 3.5.0 이후 반드시 setUid 이후에 호출하셔야 정상진행됩니다.
 
- 해당 유저의 Push 공지알림 수신동의 여부를 가져옵니다.
- Return Value
 
-     Description
- 유저의 공지알림 수신동의 여부 
 
 
-     Remark
- 3.2.3이후 버전 사용 가능
 
 
-     Remark
Push_BoolType CS_pushGetAgreeNight()
-     Description
- 해당 유저의 Push 야간알림 수신동의 여부를 가져옵니다.
 3.5.0 이후 반드시 setUid 이후에 호출하셔야 정상진행됩니다.
 
- 해당 유저의 Push 야간알림 수신동의 여부를 가져옵니다.
- Return Value
 
-     Description
- 유저의 야간알림 수신동의 여부 
 
 
-     Remark
- 3.2.3이후 버전 사용 가능
 
 
-     Remark
Local Push Notification
void CS_pushRegisterLocalpush(int pushID, char* title, char* msg, char* ticker, char* type, char* icon, char* sound, char* active, long after)
-     Description
- Localpush 를 등록한다. iOS는 pushID, title, msg, sound, after만 지원됩니다. iOS에서는 최대 64개의 로컬 푸시를 등록할 수 있으며, 기기 및 OS 버전에 따라 64개 미만으로 등록 수량이 제한되기도 합니다. 사용 환경별 최대 등록 가능 수량을 초과하는 경우에는 이전에 등록된 푸시들이 자동으로 등록 취소됩니다. (참조)
 
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - int - pushID - 알림에 대한 고유 ID로, 5자리의 양수로 설정해야 한다. 알림을 해지하거나 식별할때 사용한다. 동일한 ID로 Push가 올경우 나중것으로 업데이트 된다. - in - char* - title - 알림에 대한 타이틀 정보로, Notification이나 Dialog 혹은 커스터마이징된 Toast에서 볼 수 있다. (Push v3.5.0 / iOS 8.2 이상) - in - char* - msg - 유저에게 보여줄 Message로 Title에 해당하는 상세한 내용이나 Toast 상태로 노출될때 나타나는 내용이다. - in - char* - ticker - 미사용 - in - char* - type - 미사용 - in - char* - icon - 미사용 - in - char* - sound - (Optional) 파일명을 넣으면 된다. 없을시 기본 소리로 대체된다. - in - char* - active - 미사용 - in - long - after - (Optional) 현재 시간으로 부터 초단위 after 이후에 Push를 동작하게 한다. 예를 들어 10일 경우 10초 후에 알림이 울리게 된다. long 타입에 주의. 
 
 
-     Remark
- C# : void registerLocalpush(~)
 
 
-     Remark
void CS_pushRegisterLocalpushEx(int pushID, char* title, char* msg, char* ticker, char* type, char* icon, char* sound, char* active, long after, char* broadcastAction)
-     Description
- Localpush 를 등록한다. iOS는 pushID, title, msg, sound, after만 지원됩니다. 위의 void CS_pushRegisterLocalpush 의 확장형이지만 broadcastAction은 무시가 된다. CS_pushRegisterLocalpush의 동일 동작한다.
 
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - int - pushID - 알림에 대한 고유 ID로, 5자리의 양수로 설정해야 한다. 알림을 해지하거나 식별할때 사용한다. 동일한 ID로 Push가 올경우 나중것으로 업데이트 된다. - in - char* - title - 알림에 대한 타이틀 정보로, Notification이나 Dialog 혹은 커스터마이징된 Toast에서 볼 수 있다. (Push v3.5.0 / iOS 8.2 이상) - in - char* - msg - 유저에게 보여줄 Message로 Title에 해당하는 상세한 내용이나 Toast 상태로 노출될때 나타나는 내용이다. - in - char* - ticker - 미사용 - in - char* - type - 미사용 - in - char* - icon - 미사용 - in - char* - sound - (Optional) 파일명을 넣으면 된다. 없을시 기본 소리로 대체된다. - in - char* - active - 미사용 - in - long - after - (Optional) 현재 시간으로 부터 초단위 after 이후에 Push를 동작하게 한다. 예를 들어 10일 경우 10초 후에 알림이 울리게 된다. long 타입에 주의. - in - char* - broadcastAction - 미사용 
 
 
-     Remark
- C# : void registerLocalpush(~)
 
 
-     Remark
void CS_pushUnRegisterLocalpush(int pushID)
-     Description
- pushID 로 등록된 Localpush 를 해지 한다.
 
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - int - pushID - 알림에 대한 고유 ID로, 5자리의 양수로 설정해야 한다. 알림을 해지하거나 식별할때 사용한다. 
 
 
-     Remark
- C# : void unRegisterLocalpush(int pushID)
 
 
-     Remark
void CS_pushRegisterCallbackHandler(PushCallback pushCallback)
-     Description
- Push 를 클릭했을 때 Callback 을 받을 수 있는 함수포인터 이다. 필요한 곳에 생성 후 포인터를 넘겨주면된다. Callback을 받을 수 있는 상태일때 선언 해 준다. (Resume 등) 저장된 Callback 신호가 있을 경우, 등록하면 바로 Callback 이 불리게 된다. Callback 에 대한 내용은 하단의 콜백 함수 를 참조.
 
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - PushCallback - pushCallback - Callback 을 받기 위한 C2SPush.h 에 정의된 함수포인터 이다. 
 
 
-     Remark
- C# : void registerCallbackHandler(PushCallback pushCallback)
 
 
-     Remark
void CS_pushRunCallback(void* notification)
-     Description
- Push 를 클릭했을 때 Callback 을 받을 수 있는 함수포인터 이다. 필요한 곳에 생성 후 포인터를 넘겨주면된다. Callback을 받을 수 있는 상태일때 선언 해 준다. (Resume 등) 저장된 Callback 신호가 있을 경우, 등록하면 바로 Callback 이 불리게 된다. Callback 에 대한 내용은 하단의 콜백 함수 를 참조.
 
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - void* - notification - - (void) application:(UIApplication *) application didReceiveLocalNotification:(UILocalNotification *)notification 의 notification을 void*로 타입 캐스팅하여 모듈로 전달. 로컬 푸쉬 콜백(*PushCallback) 이 호출된다. 
 
 
-     Remark
- C# : void registerCallbackHandler(PushCallback pushCallback)
 
 
-     Remark
Foreground Notification On / Off (iOS 10 이상)
void CS_pushSetUNUserNotification()
-     Description
- Foreground Notification을 사용하기 위해 UNUserNotification을 세팅하는 초기화 함수. 기존 Push Notification 등록하는 부분에서 iOS 10 이상에서는 이 함수를 호출하도록 수정.
 
- Return Value
 
-     Description
- void 
 
 
-     Remark
- 3.3.0 이후 버전 사용 가능
 
 
-     Remark
void CS_pushSetForeground(Push_BoolType remote, Push_BoolType local)
-     Description
- 앱이 실행중일 때 Push 알림을 동작 하게 할지 안 할지를 결정한다. Default 는 True 이며, false 일 경우 어플이 실행중에는 알림이 동작하지 않는다.
 
- Return Value
 
-     Description
- void 
 
 
- Parameter
 
- in/out - Type - Name - Description - in - Push_BoolType - remote - 앱 실행 중 Remote 푸시 노출 여부 - in - Push_BoolType - local - 앱 실행 중 Local 푸시 노출 여부 
 
 
-     Remark
- 3.3.0 이후 버전 사용 가능
 
 
-     Remark
Push_BoolType CS_pushGetForegroundRemote()
-     Description
- 앱 실행 중 Remote 푸시 노출 여부로 저장되어 있는 값을 불러 온다. default YES
 
- Return Value
 
-     Description
- 앱 실행 중 Remote 푸시 노출 여부 
 
 
-     Remark
- 3.3.0 이후 버전 사용 가능
 
 
-     Remark
Push_BoolType CS_pushGetForegroundLocal()
-     Description
- 앱 실행 중 Local 푸시 노출 여부로 저장되어 있는 값을 불러 온다. default YES
 
- Return Value
 
-     Description
- 앱 실행 중 Local 푸시 노출 여부 
 
 
-     Remark
- 3.3.0 이후 버전 사용 가능
 
 
-     Remark
Request Push Permission
void CS_pushRequestPermission()
-     Description
- 유저가 푸시 전송 동의 여부를 설정하지 않은 상태라면 신규 API를 호출하여 유저에게 푸시 전송 동의 팝업을 노출할 수 있습니다. Provisional Authorization을 활용하여 Hive SDK 약관 동의에 대한 묵시적 권한 동의를 받은 경우라도 푸시 전송 동의 팝업이 노출되며, 푸시 전송에 동의한 유저에게는 명시적으로 푸시 메시지가 노출됩니다. 단, CS_pushStartEx()API를 호출하여 적어도 한 번은 초기화를 완료한 이후에만 적용할 수 있습니다.
 이 API는 Android에서는 지원하지 않습니다.
 
- 유저가 푸시 전송 동의 여부를 설정하지 않은 상태라면 신규 API를 호출하여 유저에게 푸시 전송 동의 팝업을 노출할 수 있습니다. Provisional Authorization을 활용하여 Hive SDK 약관 동의에 대한 묵시적 권한 동의를 받은 경우라도 푸시 전송 동의 팝업이 노출되며, 푸시 전송에 동의한 유저에게는 명시적으로 푸시 메시지가 노출됩니다. 단, 
- Return Value
 
-     Description
- void 
 
 
-     Remark
- 3.6.2 이후 버전 사용 가능
 c# : void requetPermission()
 
- 3.6.2 이후 버전 사용 가능
 
-     Remark