요구 사항

  • iOS Deployment target 9.0 이상
  • iOS SDK 9.0 이상

준비 사항

  • AppID 발급
  • Facebook/Google+ 관련 키 각각 발급
  • 인증서 발급
  • IAP 코드 발급
  • 마케팅 어트리뷰션 적용 시 개별 키값 발급  (1.5.0 추가)

Hive 적용하기

적용 가이드에 있는 코드들은 모두 SDK와 함께 배포된 샘플 프로젝트에 포함되어있는 코드이다.
샘플 프로젝트의 코드와 함께 보면 이해도를 높일 수 있다.

AppDelegate에 코드 추가

정상적으로 이용하기 위해서 AppDelegate에 아래 두 가지 함수를 덮어쓴다.

  • openURL
    Hive에서 웹페이지를 열 수 있도록 한다.
  • didRegisterForRemoteNotificationWithDeviceToken
    푸시 이용을 위해 디바이스 토큰을 등록한다. 
Result Delegate 사용하기

Result Delegate는 Hive에서 사용하는 API의 응답이 오는 callback 함수이다. 함수의 형태는 다음과 같다.

– (void)C2SModuleResult:(C2SModuleApi)api parameter:(NSDictionary *)arg error:(NSError*)error
argument
name
type Description
api C2SModule 어떤 응답을 받았는지 구별하는 파라메터
arg NSDictionary 서버로부터의 응답에 대한 결과 값이 담겨져 있는 딕셔너리
error NSError 응답을 처리하던 중 에러가 발생했을 때 nil이 아닌 다른 값이 오게 된다.

Hive API 호출 시 따로 Completion Handler를 등록하지 않거나 API와 매칭 되지 않는 응답은 Result Delegate로 온다.
Completion Handler만 사용해도 무방하지만 InappDescription 같은 정보의 경우 Initalize 함수 요청 시점에 Result Delegate로 들어오는 응답이다. 그렇기 때문에 InApp Description 정보를 받아 처리하고 싶다면 Result Delegate에서 처리할 수 밖에 없게 된다.

먼저 Result Delegate를 사용할 클래스에 C2SModuleResultDelegate라는 프로토콜을 구현한다. 여기서는 HiveManager라는 사용자 정의 클래스를 사용했다.

그 뒤에 C2SModuleResultDelegate의 프로토콜을 구현한다.

Hive 에 ResultDelegate를 등록한다.

Result Delegate로 넘어 올 수 있는 응답은 다음과 같이 정의되어 있다.

C2SModuleApi
C2SModuleApi_SocialInitialize 소셜 초기화
C2SModuleApi_SocialShow 소셜 뷰 출력
C2SModuleApi_SnsSession sns 세션 정보 (sessionToken확인 가능)
C2SModuleApi_SnsLogin sns 로그인
C2SModuleApi_SnsLogout sns 로그아웃
C2SModuleApi_SnsUnregister sns 탈퇴
C2SModuleApi_SnsUser sns 유저 정보 요청
C2SModuleApi_SnsFriends sns 친구 정보 요청
C2SModuleApi_SnsMessage sns 메세지 보내기
C2SModuleApi_SnsPost sns 포스팅 하기
C2SModuleApi_SnsShow sns 뷰 출력
C2SModuleApi_InappPrepare inapp 마켓 타겟팅
C2SModuleApi_InappRestore inapp 구매 복구
C2SModuleApi_InappPurchase inapp 구매 요청
C2SModuleApi_InappFinish inapp 구매 완료
C2SModuleApi_InappDescription inapp 상품 정보 (Initalize시 넘어옴)
C2SModuleApi_PushRegister Push 등록
C2SModuleApi_PushUnregister Push 등록 해제
C2SModuleApi_PushDescription Push 옵션
C2SModuleApi_PromotionShow Promotion 뷰 출력
C2SModuleApi_InappUpdated Inapp update
C2SModuleApi_TrackingSendEvent Tracker 이벤트 전송
C2SModuleApi_TrackingSetEnable Tracker 모듈 별 활성화 설정
C2SModuleApi_PromotionInfo Promotion 정보 얻기
C2SModuleApi_InterworkStart interwork 시작
C2SModuleApi_InterworkDelegate interwork 끝
C2SModuleApi_PromotionAcquisition Acquisition 정보 얻기
C2SModuleApi_HiveIAPInitialize Hive IAP 2.0 초기화
C2SModuleApi_HiveIAPInfo Hive IAP 2.0 정보 얻기
C2SModuleApi_HiveIAPShow Hive IAP 2.0 정보 보기
C2SModuleApi_HiveIAPPurchase Hive IAP 2.0 구매하기
C2SModuleApi_HiveIAPRestore Hive IAP 2.0 구매복구
C2SModuleApi_EngagementProcessScheme 유저 인게이지 스킴 진행
C2SModuleApi_EngagementGetEvents 유저 인게이지 이벤트 불러오기
C2SModuleApi_EngagementConsumeCoupon 유저 인게이지 쿠폰 소모
C2SModuleApi_EngagementStart 유저 인게이지 시작
C2SModuleApi_EngagementEnd 유저 인게이지 끝
C2SModuleApi_SocialInfo 공지 팝업 출력
C2SModuleApi_EngagementGameScheme User Engagement Game scheme
C2SModuleApi_HivePromotionShow Promotion2.0 뷰 출력
C2SModuleApi_HivePromotionInfo Promotion2.0 뷰 정보 출력
C2SModuleApi_HivePromotionGetOfferwallState Promotion2.0 오퍼월 상태값 출력
C2SModuleApi_InappCheckPromotePurchase inapp 원격 구매 상품 정보 요청
C2SModuleApi_HiveIAPCheckPromotePurchase Hive IAP 원격 구매 상품 정보 요청
C2SModuleApi_PromotionCompanion Promotion Companion 출력
C2SModuleApi_PromotionPlayback Promotion Youtube Playback
C2SModuleApi_HivePromotionPlayback HivePromotion Youtube Playback

라이브러리 빌드 관련
unity3d 5.x 버전으로 빌드한 Xcode Project Simulator의 빌드 에러는 Hive SDK iOS 라이브러리와 무관하다.