목차
- 1 상수
- 2 Callback Function
- 2.1 typedef void (*PushCallback)(Push_CallbackType callbackType, int pushID, int remainPushCallback)
- 3 Remote Push Notification
- 3.1 void CS_pushStartEx()
- 3.2 void CS_hlpPushDefaultActionOnLaunch(void* inData)
- 3.3 void CS_hlpPushRegisterTokenEx(void* deviceToken)
- 3.4 void CS_hlpPushSendOpen(void* userInfo)
- 3.5 bool CS_pushSetUid(const char* uid)
- 3.6 void CS_hlpPushUseTestServerEx()
- 3.7 const char* CS_hlpPushGetVersionEx()
- 4 Notification On / Off
- 4.1 void CS_pushSetAgree(Push_BoolType notice, Push_BoolType night)
- 4.2 Push_BoolType CS_pushGetAgreeNotice()
- 4.3 Push_BoolType CS_pushGetAgreeNight()
- 5 Local Push Notification
- 5.1 void CS_pushRegisterLocalpush(int pushID, char* title, char* msg, char* ticker, char* type, char* icon, char* sound, char* active, long after)
- 5.2 void CS_pushRegisterLocalpushEx(int pushID, char* title, char* msg, char* ticker, char* type, char* icon, char* sound, char* active, long after, char* broadcastAction)
- 5.3 void CS_pushRegisterLocalpushData(char* jsonPushData)
- 5.4 void CS_pushUnRegisterLocalpush(int pushID)
- 5.5 void CS_pushRegisterCallbackHandler(PushCallback pushCallback)
- 5.6 void CS_pushRunCallback(void* notification)
- 6 Foreground Notification On / Off (iOS 10 이상)
- 6.1 void CS_pushSetUNUserNotification()
- 6.2 void CS_pushSetForeground(Push_BoolType remote, Push_BoolType local)
- 6.3 Push_BoolType CS_pushGetForegroundRemote()
- 6.4 Push_BoolType CS_pushGetForegroundLocal()
- 7 Request Push Permission
- 7.1 void CS_pushRequestPermission()
|
상수
typedef enum Push_CallbackType_ {
onReceivedGCMPush = 0x01, //onReceivedAPNSPush, Android Only
onReceivedLocalPush = 0x02
} Push_CallbackType;
typedef enum Push_BoolType_ {
Push_FALSE = 0,
Push_TRUE = 1
} Push_BoolType;
Callback Function
typedef void (*PushCallback)(Push_CallbackType callbackType, int pushID, int remainPushCallback)
-
-
-
-
-
-
-
-
in/out |
Type |
Name |
Description |
in |
Push_CallbackType |
callbackType |
미사용. 안드로이드 전용.
|
in |
int |
pushID |
onReceivedLocalPush 일 경우 registerLocalpush() 에서 등록한 pushID 이다.
|
in |
int |
remainPushCallback |
남은 Callback 수
|
-
- Remark
- not comment
- Sample Code
-
-
-
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() (Deprecated, C2S.19.6)
-
- Description
- 푸시 초기화(디바이스 토큰 요청)를 진행합니다. 반드시 약관 동의 이후(ActiveUser 초기화로 did를 전달받은 이후) 호출하셔야합니다.
C2S.19.6 이후부턴 ActiveUser 초기화 완료 시 Push 관련 기능이 내부적으로 초기화 됩니다.
- Return Value
-
-
-
-
void CS_hlpPushRegisterTokenEx(void* deviceToken) (Deprecated, C2S.19.6)
-
- Description
- 자사 Provider 서버에 토큰을 등록 합니다. - (void) application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 에서 호출합니다.
- Return Value
-
-
-
-
-
-
-
in/out |
Type |
Name |
Description |
in |
void* |
deviceToken |
(NSData *)deviceToken을 void*로 타입 캐스팅 하여 전달합니다.
|
-
void CS_hlpPushSendOpen(void* userInfo) (Deprecated, C2S.19.6)
-
- Description
- 리모트 푸쉬를 통하여 앱을 실행에 대한 로그를 모듈 서버로 전송합니다. - (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 에서 호출합니다.
- Return Value
-
-
-
-
-
-
-
in/out |
Type |
Name |
Description |
in |
void* |
userInfo |
(NSDictionary *) userInfo을 void*로 타입 캐스팅 하여 전달합니다.
|
-
bool CS_pushSetUid(const char* uid) (Deprecated, C2S.19.6)
-
- Description
- 로그인/로그아웃 이후, 현재 uid를 푸시 서버로 전송합니다. 로그아웃 시에는 uid를 빈칸("")으로 하여 호출합니다.
- Return Value
-
-
-
-
-
-
-
in/out |
Type |
Name |
Description |
in |
const char* |
uid |
로그인 성공 시 전달받은 uid를 char*로 타입 캐스팅 하여 전달합니다. 로그아웃 시에는 uid를 빈칸("")으로 하여 호출합니다.
|
-
void CS_hlpPushUseTestServerEx() (Deprecated, C2S.19.6)
-
- Description
- 개발 프로비저닝으로 푸쉬 테스트를 하는 경우, 테스트 서버로 토큰을 등록하게 됩니다. (주의! Enterprise 계정은 Product 서버로 전송해야 합니다. CS_hlpPushUseTestServerEx 함수를 호출 하지 마세요.)
- Return Value
-
-
-
-
const char* CS_hlpPushGetVersionEx() (Deprecated, C2S.19.6)
-
- Description
- 현재의 푸쉬 버전을 리턴하는 함수 입니다.
- Return Value
-
-
-
-
const char* CS_PushGetVersion()
-
- Description
- 현재의 푸쉬 버전을 리턴하는 함수 입니다.
- Return Value
-
-
-
-
Notification On / Off
-
- Description
- 해당 유저의 Push 수신동의 여부를 서버로 전송합니다. 완료/실패 시 별도의 콜백을 제공하지 않습니다.
3.5.0 이후 반드시 setUid 이후에 호출하셔야 정상진행됩니다.
- Return Value
-
-
-
-
-
-
-
-
Push_BoolType CS_pushGetAgreeNotice()
-
- Description
- 해당 유저의 Push 공지알림 수신동의 여부를 가져옵니다.
3.5.0 이후 반드시 setUid 이후에 호출하셔야 정상진행됩니다.
- Return Value
-
-
-
-
Push_BoolType CS_pushGetAgreeNight()
-
- Description
- 해당 유저의 Push 야간알림 수신동의 여부를 가져옵니다.
3.5.0 이후 반드시 setUid 이후에 호출하셔야 정상진행됩니다.
- Return Value
-
-
-
-
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
-
-
-
-
-
-
-
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(~)
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
-
-
-
-
-
-
-
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(~)
void CS_pushRegisterLocalpushData(char* jsonPushData)
-
- Description
-
- Local Push를 등록합니다. 그룹 설정은 해당 API 호출을 통해서만 가능합니다
- noticeID, title, msg, ticker는 필수로 입력이 필요합니다. (나머지 항목은 optional)
- C2S.21.0 이상 버전부터 groupId를 설정할 수 있습니다.
-
-
-
-
-
-
-
in/out |
Type |
Name |
Description |
in |
char* |
jsonPushData |
- Json 형태로 Local Push 등록 시 필요한 정보를 입력
(key 종류 및 type :
noticeID(String), title(String), msg(String), bigmsg(String), ticker(String), type(String), icon(String), sound(String), active(String), after(Long), buckettype(Int), bucketsize(Int), bigpicture(String), icon_color(String), groupId(String)
)
- buckettype : 한 앱의 여러 push 알림을 모아서 보여줄 형태 (1 : 메시지 라인 개행, 2 : 메시지 개행 없이 노출) - bucketSize : 한 앱의 여러 push 알림을 모아서 보여줄 갯수 - bigpicture : 이미지 url을 입력할 경우 push 알림에 이미지 노출 - icon_color : 아이콘 색상 설정
- groupId : 푸시를 특정 그룹에 포함하여 노출. 설정하지 않을시 기본 앱그룹에 포함하여 노출 |
-
- Remark
- Unity Plugin : public void registerLocalpush(string jsonPushData)
Android Native : public void registerLocalpush(String jsonStringValue)
void CS_pushUnRegisterLocalpush(int pushID)
-
- Description
- pushID 로 등록된 Localpush 를 해지 한다.
- Return Value
-
-
-
-
-
-
-
in/out |
Type |
Name |
Description |
in |
int |
pushID |
알림에 대한 고유 ID로, 5자리의 양수로 설정해야 한다. 알림을 해지하거나 식별할때 사용한다.
|
-
- Remark
- C# : void unRegisterLocalpush(int pushID)
void CS_pushRegisterCallbackHandler(PushCallback pushCallback)
-
- Description
- Push 를 클릭했을 때 Callback 을 받을 수 있는 함수포인터 이다. 필요한 곳에 생성 후 포인터를 넘겨주면된다. Callback을 받을 수 있는 상태일때 선언 해 준다. (Resume 등) 저장된 Callback 신호가 있을 경우, 등록하면 바로 Callback 이 불리게 된다. Callback 에 대한 내용은 하단의 콜백 함수 를 참조.
- Return Value
-
-
-
-
-
-
-
in/out |
Type |
Name |
Description |
in |
PushCallback |
pushCallback |
Callback 을 받기 위한 C2SPush.h 에 정의된 함수포인터 이다.
|
-
- Remark
- C# : void registerCallbackHandler(PushCallback pushCallback)
void CS_pushRunCallback(void* notification)
-
- Description
- Push 를 클릭했을 때 Callback 을 받을 수 있는 함수포인터 이다. 필요한 곳에 생성 후 포인터를 넘겨주면된다. Callback을 받을 수 있는 상태일때 선언 해 준다. (Resume 등) 저장된 Callback 신호가 있을 경우, 등록하면 바로 Callback 이 불리게 된다. Callback 에 대한 내용은 하단의 콜백 함수 를 참조.
- Return Value
-
-
-
-
-
-
-
in/out |
Type |
Name |
Description |
in |
void* |
notification |
- (void) application:(UIApplication *) application didReceiveLocalNotification:(UILocalNotification *)notification 의 notification을 void*로 타입 캐스팅하여 모듈로 전달. 로컬 푸쉬 콜백(*PushCallback) 이 호출된다.
|
-
- Remark
- C# : void registerCallbackHandler(PushCallback pushCallback)
Foreground Notification On / Off (iOS 10 이상)
void CS_pushSetUNUserNotification() (Deprecated, C2S.19.6)
-
- Description
- Foreground Notification을 사용하기 위해 UNUserNotification을 세팅하는 초기화 함수. 기존 Push Notification 등록하는 부분에서 iOS 10 이상에서는 이 함수를 호출하도록 수정.
- Return Value
-
-
-
-
-
- Description
- 앱이 실행중일 때 Push 알림을 동작 하게 할지 안 할지를 결정한다. Default 는 True 이며, false 일 경우 어플이 실행중에는 알림이 동작하지 않는다.
- Return Value
-
-
-
-
-
-
-
-
Push_BoolType CS_pushGetForegroundRemote()
-
- Description
- 앱 실행 중 Remote 푸시 노출 여부로 저장되어 있는 값을 불러 온다. default YES
- Return Value
-
-
-
-
Push_BoolType CS_pushGetForegroundLocal()
-
- Description
- 앱 실행 중 Local 푸시 노출 여부로 저장되어 있는 값을 불러 온다. default YES
- Return Value
-
-
-
-
Request Push Permission
void CS_pushRequestPermission()
-
- Description
- 유저가 푸시 전송 동의 여부를 설정하지 않은 상태라면 신규 API를 호출하여 유저에게 푸시 전송 동의 팝업을 노출할 수 있습니다. Provisional Authorization을 활용하여 Hive SDK 약관 동의에 대한 묵시적 권한 동의를 받은 경우라도 푸시 전송 동의 팝업이 노출되며, 푸시 전송에 동의한 유저에게는 명시적으로 푸시 메시지가 노출됩니다.
단, CS_pushStartEx()
API를 호출하여 적어도 한 번은 초기화를 완료한 이후에만 적용할 수 있습니다. (C2S.19.6 이후부터턴 CS_pushStartEx()를 더이상 사용할 수 없으므로 ActiveUser 초기화 완료 뒤에 사용 가능합니다.)
명시적 푸시 권한과 관련된 권한 동작은 권한 고지 및 요청 변경사항 정리 FAQ 내용을 참고 바랍니다.
- Return Value
-
-
-
-
- Remark
- 3.6.2 이후 버전 사용 가능
Unity Plugin(C#) : void requetPermission()