모든 문서(일반 문서, 분류 문서, 파일(이미지, 사운드 등) 문서) 분류가 달려 있어야 합니다.

--Administrator (토론)

Hub/docs/ios/getting started

컴투스위키
이동: 둘러보기, 찾기
Hive >>

Hive_게임_클라이언트_적용가이드

>>

플랫폼별 환경설정 가이드

Hive iOS 환경설정

Hive Android 환경설정

Hive Unity3d_iOS 환경설정

Hive Unity3d_Android 환경설정

>>

하이브 모듈 API 레퍼런스

Hive API Reference

Hive Unity API Reference

Hive AsyncRequest API Reference

Hive SocialRequest API Reference

>>

하이브 기능 활용 가이드

프로필 이미지 가져오기

국기 이미지 가져오기

Hive Dialog 특정 페이지 이동하기

Hive 소셜 확장 연동 가이드


목차

개요

iOS 플랫폼 환경에서의 Hub 2.x 라이브러리 적용을 위한 준비 및 프로젝트 설정에 대해 설명한다.

  • 주의 v2.5.0 이상부터는 Google Plus가 아니라 Google SignIn을 사용한다. 버전에 맞는 적용방법을 택하여 프로젝트에 적용한다.
  • 기 GooglePlus 적용 프로젝트에서 HiveSDK 2.5.0 이상으로 업데이트 시에는 하단 문서에 따라 프로젝트 설정을 수정한다.

Google SignIn 적용 가이드

AppID & Game Index발급

iOS Hub 모듈에서 AppID는 앱의 bundle Identifier를 의미합니다.

글로벌사업팀 TECH 파트를 통해서 납품용 AppID(Bundle ID)와 GameIndex를 발급 받으실 수 있습니다.

발급된 App ID와 GameIndex는 허브 서버에 등록되어야 Hub 서버와 정상적인 통신 가능하므로 발급 후,
허브팀에 납품용 App ID와 GameIndex를 알려주시기 바랍니다. 이렇게 허브 서버에 등록한 값을 초기화 함수에서 사용합니다.
#define APP_ID                  "납품용 앱아이디"
#define GAME_INDEX              "게임 인덱스"
#define USE_TEST_SERVER <true or false>
// ...

        if (HUB_E_SUCCESS != CS_hubInitialize(APP_ID, GAME_INDEX, USE_TEST_SERVER))
        {
                // 에러 처리
        }

Facebook App ID 발급

Facebook App ID 역시 글로벌사업팀 TECH 파트팀을 통해 발급 받으실 수 있습니다.

Facebook App ID Facebook App을 동록할 때 받을 수 있는데 이때 bundle Identifier를 여러개 등록하는 것이 가능하므로, 개발 편의를 위하여 납품용 App ID(Bundle ID) 외에 개발용 Bundle ID(예: com.com2us.com.Dodge.A18)도 함께 등록 요청하시는 것이 좋습니다.

Facebook SDK는 Facebook 서버와 앱 인증 시, Facebook App 등록 시 입력된 bundle ID와 Facebook App ID의 매칭을 검사합니다. 만약, facebook SDK 설정을 모두 완료했는데도 페이스북 인증 오류가 발생한다면 bundle ID와 Facebook App ID가 맞지 않아서 발생하는 문제일 가능성이 높습니다.

아래는 페이스북 앱 등록 화면 샘플입니다.(아래 등록 처리는 TECH 파트에서 처리하여 게임 개발팀에서는 볼 일이 없지만, Facebook App ID와 Bundle ID가 어떤 식으로 관리되는지 보여드리기 위해 첨부합니다.)

facebook app setting basic sample.png


Facebook SDK 개인정보 보호 설정

  • GDPR 정책에 따라 약관 동의 이후에 Facebook SDK 초기화 및 네트워크 통신이 이루어지도록 해야합니다. (관련 페이스북 페이지 링크)
    • iOS Peppermint v2.7.7 이상을 적용하고 iOS Facebook 5.4.1 이상을 적용하는 경우 꼭 확인이 필요합니다.
  • iOS 빌드에선 info.plist에 FacebookAutoInitEnabled = NO / FacebookAutoLogAppEventsEnabled = NO / FacebookAdvertiserIDCollectionEnabled = NO 로 추가합니다. (추가하지 않을 시 default true)

FacebookAutosetting2.png

Google SignIn GoogleService-Info.plist 발급 (v2.5.0+)

  • Google SignIn 연동을 위해 GoogleService-Info.plist를 발급 받습니다. (담당: 테크PM팀)
    • 주의! Google SignIn는 페이스북과 달리 앱 아이디(Bundle ID 또는 Package Name)에 따라 개별 생성해야 합니다. 예를 들어, 납품용 앱 아이디로 발급된 GoogleService-Info.plist를 OTA빌드시 사용할 경우 Google SignIn 로그인이 정상적으로 처리되지 않습니다.
    • GoogleService-Info.plist 발급시, 개발 또는 OTA때 사용하는 앱 아이디에 대해서도 GoogleService-Info.plist 발급을 신청하도록 합니다.

Google Plus Client ID 발급 (v2.5.0 미만)

  • Peppermint v2.6.0 업데이트 이후 최소 권장 버전은 v2.6.0이기 때문에 해당 내용은 참고만 부탁드립니다.
  • Google Plus 연동을 위해 Google Plus Client ID를 발급 받습니다. (담당: 사업지원팀)
    • 주의! Google plus는 페이스북과 달리 앱 아이디(Bundle ID 또는 Package Name)에 따라 개별 생성해야 합니다. 예를 들어, 납품용 앱 아이디로 발급된 Google Plus Client ID를 OTA빌드시 사용할 경우 Google Plus로그인이 정상적으로 처리되지 않습니다.
    • Google Plus Client ID발급시, 개발 또는 OTA때 사용하는 앱 아이디에 대해서도 Google Plus Client ID 발급을 신청하도록 합니다.

QQ 로그인 적용 (v2.7.0 이상)

  • iOS Peppermint v2.7.0부터 클라이언트 사이드 QQ 로그인을 사용할 수 있습니다.
    • 텐센트 QQ 로그인 정책 대응으로 인한 QQ 로그인 방식 변경(로그인 방식을 기존 서버(웹) 로그인 방식에서 클라이언트 로그인으로 변경) 서버패치(2018/11/15)로 인하여, Peppermint v2.7.0 이하를 적용할 경우, 아래 대상게임은 QQ 로그인 버튼이 비활성화되어 노출되고 있습니다.
    • Peppermint v2.7.0 이상을 적용할 경우 자동으로 QQ 로그인 버튼이 활성화 됩니다.
  • 2018.11.15 시점 참고사항
    • 2018.11.15 시점 QQ 로그인 버튼 비활성화 된 게임목록 : 서머너즈워, 낚시의 신, 골프스타, 사커스피리츠, 원더택틱스, 타이니팜, 라이트:빛의원정대, 소울시커
    • Peppermint v2.7.0 업데이트 적용 대상 게임 : 서머너즈워, 낚시의 신, 골프스타, 사커스피리츠, 원더택틱스
    • 참고 사항
      • 타이니팜과 라이트:빛의원정대의 경우 중국법인에서 서비스 허가를 받지 않은 상황이라 QQ 로그인 적용 대상에서 제외되었습니다.
      • 소울시커의 경우 19년 1월 종료 예정이라 추가 대응을 하지 않았고, 멤버십 전환 유도만 진행됩니다.
      • 제외된 게임의 경우 AppId를 발급받지 않았기 때문에 QQ 로그인 버튼 클릭 시 동작을 하지 않습니다.


  • QQ 라이브러리 적용 방법
    • QQ 콘솔에 앱을 등록하였을 경우 QQ 앱아이디를 발급받아 QQ 라이브러리를 통한 로그인 기능을 사용할 수 있습니다.
    • QQ 콘솔에 앱 등록과 관련된 문의는 GCP 플랫폼 클라이언트팀으로 문의바랍니다. (18.11.15 적용 대상 게임은 별도로 앱 등록 및 앱아이디 발급이 필요 없습니다. GCP 플랫폼 클라이언트팀으로 문의바랍니다.)
  • 적용 사항 1 : framework 설정
  • 적용 사항 2 : QQ 앱 설치 여부
    • OS에 따라 QQ에서 제공하는 로그인 서비스 동작 차이가 있으며 아래 상황에 따라 QQ 앱 설치 여부가 충족되어야 합니다.

Sign-in with Apple 적용 (v2.8.1 이상)

  • Peppermint v2.8.1부터 iOS 13 단말기에서 사용할 수 있는 Apple 로그인이 추가되었습니다. Apple 로그인은 Xcode 11.0 이상 버전에서 추가 할 수 있습니다. 다음의 안내를 따라 Apple 로그인 설정을 진행합니다.


1. Xcode 프로젝트 창의 프로젝트 네비게이터에서 작업하는 프로젝트를 선택한다.

2. TARGETS 목록에서 작업하는 앱을 선택한다.

3. Signing & Capabilities 탭을 클릭한다.

4. Signing & Capabilities 탭 좌측 상단에 있는 + Capability 버튼을 클릭한다.

5. 목록에서 Sign In with Apple을 선택해 추가한다.

idp apple select.png

6. Signing & Capabilities 목록에 추가된 Sign In with Apple을 확인할 수 있다.

idp apple confirm.png
  • 권한이나 기타 문제로 Capability 목록에 보이지 않을 경우에는 Apple 개발자 콘솔에서 Sign In with Apple 항목을 활성화해야 한다. 이후 갱신된 프로비저닝이 적용되면 4~6 순서를 다시 진행해 IdP를 추가한다.
idp apple console.png

Framework 추가

  1. Hub 모듈에서 사용하는 프레임워크 외에 외부 소셜 서비스에서 사용하는 각종 프레임워크를 추가합니다.
  2. 외부 소셜 서비스 지원을 위한 프레임워크를 추가합니다.
    • Hub 모듈 배포 저장소에 포함된 각 외부 소셜 플랫폼의 프레임워크를 사용합니다.
    • Peppermint v2.8.4 이상
      • Facebook / Google SignIn 프레임워크를 CocoaPods을 이용하여 프로젝트에 주입되도록 변경되었습니다.
      • Module Dependency Guide를 참고하여 Unity 환경 및 Xcode 환경에 맞게 외부 라이브러리 사용 환경을 구축하세요.
      • QQ 로그인을 위한 TencentOpenAPI.framework는 기존과 동일하게 배포파일에 포함된 framework를 사용하세요.
    • QQ (Tencent) 프레임워크 (v2.7.0 이상)
      • ios/external/QQ_3_3_3/TencentOpenAPI.framework
    • Facebook 프레임워크 (v2.8.4 미만)
      • ios/external/facebook_4_39_1/Bolts.framework
      • ios/external/facebook_4_39_1/FBSDKCoreKit.framework
      • ios/external/facebook_4_39_1/FBSDKLoginKit.framework
      • ios/external/facebook_4_39_1/FBSDKShareKit.framework
    • Google SignIn 프레임워크 (v2.8.4 미만)
      • ios/external/google_signin_sdk_4_4_0/GoogleSignIn.framework
      • ios/external/google_signin_sdk_4_4_0/GoogleSignInDependencies.framework
    • Google Plus 프레임워크 (v2.5.0 미만)
      • ios/external/google-plus-ios-sdk-1.7.1/GooglePlus.framework
      • ios/external/google-plus-ios-sdk-1.7.1/GoogleOpenSource.framework
  3. Hub 모듈 및 외부 소셜 서비스에서 사용하는 라이브러리와 프레임워크를 추가합니다.
    • Accounts.framework
    • AddressBook.framework
    • AdSupport.framework
    • AssetsLibrary.framework
    • Photos.framework Added in iOS Hive v2.4.0
    • CoreLocation.framework
    • CoreMotion.framework
    • CoreGraphics.framework
    • CoreText.framework
    • CoreTelephony.framework
    • MediaPlayer.framework
    • MessageUI.framework
    • ImageIO.framework Removed in iOS Hive v2.3.0
    • QuartzCore.framework
    • Social.framework
    • Security.framework
    • SystemConfigureation.framework
    • libsqlite3.0.dylib
    • libz.dylib
    • SafariService.framework (iOS7 미만에서 Optional)
    • Foundation.framework Added in iOS Hive v2.6.0 (iOS8 미만에서 Optional)
    • CoreSpotlight.framework Added in iOS Hive v2.6.0 (iOS8 미만에서 Optional)
    • LocalAuthenticaion.framework Added in iOS Hive v2.7.4 (iOS8 미만에서 Optional)
    • hub2 ios facebook frameworks optional.png

info.plist 설정

socialServiceKey.png

Facebook App ID 추가

FacebookAppID라는 새로운 키를 추가하고, 발급받은 Facebook App ID로 설정합니다. FacebookDisplayName 키를 추가하고 현재 App Name으로 설정합니다.

URL Scheme 추가

  1. 외부 소셜 서비스에서 게임을 실행 할 수 있도록 URL scheme 을 추가합니다.
    • 페이스북용 URL Scheme에 들어가는 값은 FacebookAppID 앞에 fb가 붙습니다. 예를들어, FacebookAppID가 243049315801850이라면, URL Scheme은 fb243049315801850 가 됩니다.
    • Google Plus용 URL Scheme는 Hub 2.0에서 사용하는 방식과 동일합니다. 아래의 그림을 참고하시기 바랍니다.(bundle identifier로 url scheme를 사용합니다.)
    • Weibo에 URL Scheme에 들어가는 값은 Weibo App Key 앞에 wb가 붙습니다. 예를 들어, Weibo AppKey가 39959666이라면, URL Scheme는 wb39959666가 됩니다. Removed in iOS Hive v2.3.0
    • 이 값이 설정되어 있지 않으면, 앱에서 Safari나 외부 소셜 서비스 앱으로 전환된 후에 다시 앱으로 돌아올 수 없습니다.
  2. 자사의 다른 게임에서 현재 앱을 실행할 수 있도록 회사에서 발급한 납품용 AppID를 URL scheme에 추가합니다.
    • 이 값이 설정되어 있는 게임은 아래 페이지에서 Play 버튼을 눌렀을 때, 해당 게임이 설치되어 있으면 게임을 바로 실행할 수 있습니다.
    • hub2 user profile game.png
    • 이 값이 설정되어 있지 않으면, 폰에 해당 게임이 설치되어 있더라도 게임이 실행되지 않고 설치 페이지로 이동합니다.

설정 방법은 아래 그림을 참고합니다.

ios url scheme.png

    • Google SignIn 사용시 (v2.5.0+) 기존 GooglePlus에서는 Bundle Identifier만 URL Scheme에 추가되었으나, GoogleService-Info.plist에 있는 REVERSED_CLIENT_ID의 값도 URL Scheme에 추가 해야한다.

ios url scheme google signin.png

Library link

  1. Build Settings의 Header Search Paths에 헤더 파일이 위치한 경로를 추가합니다.
    • {HUB2 배포파일이 위치한 경로}/ios/include
    • hub2 ios project settings header search paths.png
  2. Build Settings의 Library Search Paths에 라이브러리 파일이 위치한 경로를 추가합니다.
    • {HUB2 배포파일이 위치한 경로}/ios/lib
    • hub2 ios project settings library search paths.png
  3. Build Settings의 Other Linker Flags에 라이브러리 파일 링크 옵션을 추가한다.
    • Debug: -lC2SHub2_$(PLATFORM_NAME)d -ObjC
    • Release: -lC2SHub2_$(PLATFORM_NAME) -ObjC
    • hub2 ios project settings other linker flags.png
    • Release 설정에는 라이브러리 이름 뒤에 d가 붙지 않음에 주의

Orientation 설정

Peppermint 웹뷰의 지원 방향은 Xcode의 Device Orientation 을 따릅니다.

  • Xcode -> Project Setting -> General -> Deployment Info에 Device Orientation
    • 게임에서 지원하는 방향에 체크
  • 가로모드만 지원하는 게임
    • Landscape Orientation에 체크 (iphone, ipad 모두)

Capability 설정

Capability keychain on.png

  • Added v2.6.9
  • HiveSDK v2.6.9 버전부터 게스트 유저 계정 생성 시(guest/create) 필요한 정보를 암호화하여 전달하도록 수정되었다.
  • iOS 10 이상부터 암호화 시 Capability에서 Keychain Sharing 설정을 ON으로 변경해야한다.

Resource 파일 추가

주의!리소스 파일이 추가되지 않으면, Hive 또는 외부 소셜 서비스의 다이얼로그를 열었을 때 X 버튼이 표시되지 않습니다.

프로젝트에 Hub와 외부 소셜 서비스 리소스 번들을 추가합니다.

HiveSocialResources.bundle - Added v2.4.0

  • {HUB2 배포파일이 위치한 경로}/ios/resources/HiveSocialResources.bundle

FacebookSDKStrings.bundle

  • {HUB2 배포파일이 위치한 경로}/external/facebook_4_38_0/FacebookSDKStrings.bundle

GoogleSignIn.bundle

  • {HUB2 배포파일이 위치한 경로}/external/google_signin_sdk_4_1_2/GoogleSignIn.bundle
  • {HUB2 배포파일이 위치한 경로}/external/google_signin_sdk_4_1_2/GoogleService-Info.plist (발급받은 GoogleService-Info.plist)

GooglePlus.bundle(2.5.0미만)

  • {HUB2 배포파일이 위치한 경로}/external/google-plus-ios-sdk-1.7.1/GooglePlus.bundle
  • {HUB2 배포파일이 위치한 경로}/external/google-plus-ios-sdk-1.7.1/GTMOAuth2ViewTouch.xib
    • 해당 파일이 포함되어 있지 않은 경우 Google+ 로그인 기능사용시 검은 화면이 나타나거나 crash 현상이 발생할 수 있습니다.

WeiboSDK.bundle Removed in iOS Hive v2.3.0 * {HUB2 배포파일이 위치한 경로}/external/sinaWeibo/resources/WeiboSDK.bundle

Hub Localize File 추가

Apple App Store Guide Line에 따라 해당 파일은 반드시 프로젝트에 추가되어야 하며, 필수 확인 사항입니다. 적용이 안되었을 시에 반려(reject) 사유에 해당합니다.

InfoPlist.strings를 사용하는 경우

날짜 비고
2014 - 08 - 12 '불어' 추가
2016 - 04 - 22 '스페인어', '포르투칼어', '인도네시아어', '말레이시아어', '태국어', '베트남어' 추가
2016 - 07 - 14 '이탈리아어', '터키어' 추가
2016 - 09 - 12 iOS 10 대응 언어 추가
2017 - 07 - 10 '아랍어' 추가
2017 - 08 - 10 17개국 언어 텍스트 수정 및 추가
2018 - 06 - 26 말레이시아어 지원 중단으로 언어 텍스트 삭제
  • 먼저, 프로젝트의 설정에 가서 기존의 'Localizations'에 게임에서 지원하는 언어를 추가해 줍니다. 아래의 이미지를 참고하여 추가하시기 바랍니다.
    • 지원하는 언어는 영어, 한국어, 일본어, 중국어(간체), 중국어(번체), 러시아어, 독일어, 불어, 스페인어, 포르투칼어, 인도네시아어, 태국어, 베트남어, 이탈리아어, 터키어, 아랍어 (16가지)
    • 제공된 언어 중 게임에서 지원하는 언어만 가져다 사용하시기 바랍니다.
Hub Localize Step 001.png
Hub Localize Step 002.png
  • 정상적으로 추가된 경우에는 프로젝트내 파일중 InfoPlist.strings파일이 다음과 같이 변경됩니다.
Hub Localize Step 003.png
  • 각 언어별 InfoPlist.strings를 선택하여 다음의 이미지와 같이 입력해주시기 바랍니다.
    • 주의! 입력시 맨 마지막에는 반드시 공백 줄이 있어야 합니다.
Hub Localize Step 004.png

다국어 지원 설정

InfoPlist.strings를 사용하지 않는 경우

해당 폴더를 프로젝트에 추가합니다.


  • Step 01. 프로젝트 메뉴에서 마우스 오른쪽 클릭으로 옵션을 열어 'Add Files to "프로젝트"...' 를 선택합니다.

Hub Localize Step 01.png


  • Step 02.위의 경로에서 'localize' 폴더를 선택 후 'Add'를 선택하여 프로젝트에 추가합니다.

Hub Localize Step 02.png

적용 결과 화면

  • 정상적으로 프로젝트에 추가되면, 다음의 회원가입 화면 중 사용자의 주소록 정보를 요청할 시에 다음과 같은 메시지 팝업창이 나타납니다.

UIApplicationDelegate 함수 수정

앱이 실행되거나 종료되었을 때와 URL Scheme으로 실행되었을 때, 허브 모듈에서 필요한 작업을 처리해주기 위하여 UIApplicationDelegate의 다음 함수들을 호출해주어야 합니다.

일반적인 iOS Application의 경우, AppDelegate를 suffix로 갖는 클래스가 UIApplicationDelegate 를 구현하고 있습니다.

//
// File: AppDelegate.m
//
//    -- 본 예시에서는 UIApplicationDelegate의 구현 클래스를 AppDelegate로 선언했습니다.
//

#import "C2SHub2.h"

@implementation AppDelegate

// ...

- (void)applicationDidBecomeActive:(UIApplication *)application
{
        CS_hubApplicationDidBecomeActive();
}

- (void)applicationWillTerminate:(UIApplication *)application
{
        CS_hubUninitialize();
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
        // 필요에 따라  추가적인 스키마 처리
        // 스키마 처리 결과에 따라 YES 또는 NO  반환
        return CS_hubApplicationOpenURL(url, sourceApplication, annotation);
}

// 상단의 openurl 함수가 iOS 9.0 이상에서 곧 deprecated 될 예정이라 하단의 함수를 따로 추가해야함. (Available in iOS 9.0 and later)
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
    return [self application:app openURL:url sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
}

// ...
@end

ActiveUser 적용

주의! iOS 7 맥 주소 수집 불가로 추가적인 디바이스 정보 수집을 위하여 Hive(Peppermint) v.2.0.7 이상, Active User 2.0.0 이상 버전을 적용해야 합니다.
주의! Hive v2.2.7 이상 버전 호환을 위해 Active User 2.4.0 이상 버전을 적용해야 합니다.
주의! Hive v2.6.0 배포 이후 최소 권장 버전은 v2.6.0 입니다. 호환 가능한 Active User 버전을 적용해야 합니다.

적용 방법은 각 모듈 적용 가이드를 참고합니다.

적용 시 반드시 아래 두가지를 주의해야 합니다:

  • CS_hubInitialize() 함수는 반드시 CS_ActiveUserStart()이 호출된 이후에 불려야 합니다.
  • 허브 테스트 서버를 사용하는 경우 CS_ActiveUserUseTestServer()를 호출하여 Active User 또한 테스트 서버를 사용하도록 해야 합니다.
#ifdef  USE_COM2US_TEST_SERVER_SET
        CS_ActiveUserUseTestServer();
#endif
        CS_ActiveUserStart();

        // Hub(Hive 혹은 페퍼민트) 초기화
#ifdef  USE_COM2US_TEST_SERVER_SET
        if (HUB_E_SUCCESS == CS_hubInitialize(APP_ID, GAME_INDEX, true))    // 테스트 서버 사용
#else
        if (HUB_E_SUCCESS == CS_hubInitialize(APP_ID, GAME_INDEX, false))  // 상용 서버 사용
#endif
        {
                NSLog(@"%s: CS_hubInitialize success", __FUNCTION__);
        }

JSON 라이브러리

주의! Hub(Hive 혹은 Peppermint) 2.0에서는 클라이언트 모듈과 허브 서버 간에 사용되는 데이터 형식으로 JSON 형식을 사용하고 있습니다.
때문에 허브 서버로 요청할 데이터를 생성하거나 받은 데이터를 처리하기 위해서 JSON 라이브러리가 필요하게 됩니다.
  • SBJSON (Objective-C)
    • C2SHub2 라이브러리 파일은 iOS 어플리케이션에서 널리 사용되는 SBJSON 코드를 포함하고 있으며, SBJSON 라이브러리를 사용하고자 할 경우 타겟 프로젝트에 SBJSON의 헤더파일만 추가해주시면 됩니다.
  • Jansson (C)
    • iOS와 안드로이드 간의 이식성 문제로 C 라이브러리를 사용하시고자 하는 경우에는 Jansson 라이브러리를 추천합니다. Hub 2.0 랩퍼 샘플에서 이 라이브러리를 사용하고 있습니다. 자세한 내용은 Hub 2.0 샘플 가이드를 참고 해주세요.
  • NSJSONSerialization (Objective-C)
    • iOS 5.0 이상을 사용하는 앱이라면 iOS의 Foundation.framework에 포함된 NSJSONSerialization 클래스를 사용할 수 있습니다.

Wrapper 라이브러리(Optional)

주의!Hub(Hive 혹은 Peppermint) v2.x iOS 라이브러리는 Wrapper와 완전히 독립적입니다.

Wrapper를 사용하는 프로젝트 설정과 관련 된 부분은 래퍼 (iOS)의 Default Wrapper Project Setting 항목을 참고하시기 바랍니다.

Wrapper 프로젝트의 Other Linker Flags에서 Hub 1.0을 위해 존재하는 아래 옵션들은 제거해도 됩니다.

  • -lxml2
  • -lGoogleAnalytics

Hub 1.x 모듈이 제거된 Wrapper lib 적용 방법은 아래 페이지를 참고합니다.

챗봇 UI 설정하기

  • 유저의 편의를 고려해 챗봇 UI를 세로 고정형으로 노출합니다. 챗봇 기능을 사용하는 게임에선 아래의 내용을 참고하여 작업을 진행하세요.

AppDelegate 설정하기

  • CommonModule 1.6.1에 추가된 C2SAppDelegate.h 파일을 프로젝트에 추가 후에 AppDelegate.m (유니티의 경우 UnityAppController.m) 의 didFinishLaunchingWithOptions 의 return 값을 [C2SAppDelegate application:didFinishLaunchingWithOptions:]의 응답값을 return 하도록 수정하세요.
 // AppDelegate.m
 
#import "C2SAppDelegate.h"
 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  return  [C2SAppDelegate application:application didFinishLaunchingWithOptions:launchOptions];
}
  • AppDelegate.m (유니티의 경우 UnityAppController.m) 파일 내 application:supportedInterfaceOrientationsForWindow: 함수가 구현되어 있지 않은 경우 수동으로 해당 함수를 추가하세요.
 // Objective-c로 제작한 게임 엔진인 경우 다음의 AppDelegate 함수를 구현
 - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
 // TODO: 가로 전용 게임의 경우
 return UIInterfaceOrientationMaskLandscape;
 // TODO: 세로 전용 게임의 경우
 return UIInterfaceOrientationMaskPortrait;
 // TODO: 가로, 세로 모두 지원하는 게임의 경우
 return UIInterfaceOrientationMaskAll;
 }

Xcode 설정하기

  • iPad 에서도 챗봇 화면을 세로 고정형으로 노출하고 싶다면 Xcode에서 아래 설정을 추가로 적용하고 빌드합니다.

chatbot iPad.png



Hive >>

Hive_게임_클라이언트_적용가이드

>>

플랫폼별 환경설정 가이드

Hive iOS 환경설정

Hive Android 환경설정

Hive Unity3d_iOS 환경설정

Hive Unity3d_Android 환경설정

>>

하이브 모듈 API 레퍼런스

Hive API Reference

Hive Unity API Reference

Hive AsyncRequest API Reference

Hive SocialRequest API Reference

>>

하이브 기능 활용 가이드

프로필 이미지 가져오기

국기 이미지 가져오기

Hive Dialog 특정 페이지 이동하기

Hive 소셜 확장 연동 가이드

개인 도구
이름공간

변수
행위
둘러보기
도구모음
인쇄/내보내기