모든 문서(일반 문서, 분류 문서, 파일(이미지, 사운드 등) 문서)는 분류가 달려 있어야 합니다.
--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