Giter Site home page Giter Site logo

cafe-sdk-unreal's Introduction

PLUG SDK

PLUG SDK는 모바일 게임 사용자가 게임 도중 게임을 벗어나지 않고 게임의 커뮤니티와 소통할 수 있도록 제공되는 인앱 커뮤니티 라이브러리입니다. 간단한 조작으로 프로젝트에 PLUG SDK를 추가할 수 있습니다.

이미 많은 게임에 적용돼 검증된 PLUG SDK를 사용하면 손쉽게 커뮤니케이션 기능을 게임 안에 넣을 수 있습니다.

PLUG

How To Get Started

제휴 신청

PLUG SDK를 앱에 적용하려면 PLUG SDK 제휴를 신청해야 합니다. 제휴 양식을 작성해 PLUG 제휴 담당자에게 메일로 제휴를 신청합니다.

제휴 신청이 완료되면 PC의 카페 관리 페이지에서 네이버 PLUG SDK 콘텐츠를 관리할 수 있습니다.

적용 가이드

Communication

개발과 관련된 문의 사항은 PLUG 공식 카페를 사용합니다.

Usages

1. 요구 사항

Unreal 엔진 버전 설명
4.13 iOS에서 동영상 녹화가 가능한 버전("Unreal Engine 4.13 Release Notes" 참고)
4.11 iOS용 PLUG SKD를 사용할 수 있는 최소 버전("flag issue : iOS -ObjC setting at Other Linker Flags" 참고, 접근 권한 필요)

2. 프로젝트 설정

다운로드한 샘플 프로젝트에 포함된 Plugins/CafeSDKPlugin 폴더를 프로젝트에 복사한 다음 운영체제에 따라 다음과 같이 개발 환경을 설정합니다.

운영체제별 PLUG SDK에 관한 자세한 내용은 GitHub 저장소를 참고합니다.

2.1 Android 설정

다운로드한 샘플 프로젝트에 포함된 Build/Android 폴더에서 다음 파일과 폴더를 프로젝트에 복사합니다.

  • ManifestApplicationAdditions.txt
  • JavaLibs 폴더

2.2 iOS 설정

DefaultEngine.ini 파일에 다음과 같이 프로젝트 설정을 추가합니다.

AdditionalLinkerFlags=-ObjC
AdditionalShippingLinkerFlags=-ObjC
AdditionalPlistData=<key>CFBundleURLTypes</key> <array>    <dict>            <key>CFBundleURLSchemes</key>           <array>               <string>gLinkSample</string>        </array>    </dict>   </array><key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict> <key>LSApplicationQueriesSchemes</key><array><string>navercafe</string><string>naversearchapp</string><string>naversearchthirdlogin</string></array>    <key>CFBundleURLTypes</key><array><dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLSchemes</key><array><string>gLinkSample</string></array></dict></array><key>NSPhotoLibraryUsageDescription</key><string>Access your photos to create a post.</string>

Build.cs 파일에 다음과 같이 프레임워크 설정을 추가합니다.

if (Target.Platform == UnrealTargetPlatform.IOS)
{
    // Add framework
    PublicAdditionalFrameworks.Add(
        new UEBuildFramework(
            "NaverCafeSDK",
            "../../ThirdPartyFrameworks/iOS/NaverCafeSDK.embeddedframework.zip",
            "Resources/NaverCafeSDK.bundle"
        )
    );
    PublicAdditionalFrameworks.Add(
        new UEBuildFramework(
            "NaverLogin",
            "../../ThirdPartyFrameworks/iOS/NaverLogin.embeddedframework.zip",
            "Resources/NaverAuth.bundle"
        )
    );
    PublicAdditionalFrameworks.Add(
        new UEBuildFramework(
            "AFNetworking",
            "../../ThirdPartyFrameworks/iOS/AFNetworking.embeddedframework.zip"
        )
    );
    PublicAdditionalFrameworks.Add(
        new UEBuildFramework(
            "SDWebImage",
            "../../ThirdPartyFrameworks/iOS/SDWebImage.embeddedframework.zip"
        )
    );
    PublicAdditionalFrameworks.Add(
        new UEBuildFramework(
            "FLAnimatedImage",
            "../../ThirdPartyFrameworks/iOS/FLAnimatedImage.embeddedframework.zip"
        )
    );
    PublicAdditionalFrameworks.Add(
        new UEBuildFramework(
            "ApiGateway",
            "../../ThirdPartyFrameworks/iOS/ApiGateway.embeddedframework.zip"
        )
    );

    PublicFrameworks.AddRange(
        new string[] {
            "UIKit",
            "Foundation",
            "MediaPlayer",
            "SystemConfiguration",
            "Security",
            "MobileCoreServices",
            "GameKit",
            "AssetsLibrary",
        }
    );
    PublicWeakFrameworks.Add("ReplayKit");
}

3. 초기화

PLUG SDK가 지원하는 언어에 따라 다음과 같이 PLUG SDK를 초기화합니다.

3.1 PLUG SDK 초기화(한국어만 지원 - 네이버 카페)

한국어만 지원하는 PLUG SDK를 초기화할 때는 다음과 같은 초기화 정보를 설정합니다.

if (FCafeSDKPluginModule::IsAvailable())
{
    UCafeSdkBlueprintLibrary::Init("U5ZHoj_OStOHOJ8mec_s", "piPHPA9i4E", 28334359);
}

3.2 PLUG SDK 초기화(외국어만 지원)

외국어만 지원하는 PLUG SDK를 초기화할 때는 다음과 같은 초기화 정보를 설정합니다.

  • PLUG SDK 제휴 신청을 통해 받은 컨슈머 키(Consumer Key) 와 컨슈머 시크릿(Consumer Secret)

  • PLUG SDK 제휴 신청을 통해 받은 Community No 와 Lounge No

  • consumerKey: 커뮤니티를 개설하고 받은 컨슈머 키(Consumer Key)

  • consumerSecretKey: 커뮤니티를 개설하고 받은 컨슈머 시크릿(Consumer Secret Key)

  • cummunityNo: 커뮤니티를 개설하고 받은 커뮤니티 No(cummunityNo)

  • loungeNo: 라운지를 개설하고 받은 라운지 No(cummunityNo)

if (FCafeSDKPluginModule::IsAvailable())
{
    /**
     * @param consumerKey       컨슈머 키
     * @param consumerSecretKey 컨슈머 시크릿 키 
     * @param communityNo       커뮤니티 번호
     * @param loungeNo          라운지 번호                      
     */
     UCafeSdkBlueprintLibrary::InitGlobal("PLUGKEY", "PLUGSECRET", 1, 58);
}

4. PLUG SDK 시작

초기화가 완료되면 PLUG SDK를 실행합니다.

4.1 StartHome() 메서드

StartHome() 메서드는 PLUG SDK를 시작하는 메서드입니다.

UFUNCTION(BlueprintCallable, Category = "Naver CafeSdk")
static void StartHome();

4.2 ShowWidgetWhenUnloadSdk() 메서드

ShowWidgetWhenUnloadSdk() 메서드 PLUG SDK에서 접기 버튼을 눌렀을 때 위젯이 화면에 노출되도록 설정하는 메서드입니다.

UFUNCTION(BlueprintCallable, Category = "Naver CafeSdk")
static void ShowWidgetWhenUnloadSdk(bool bUse);

4.3 SetUseVideoRecord() 메서드

SetUseVideoRecord() 메서드는 PLUG SDK 위젯에 동영상 녹화 버튼을 노출하도록 설정하는 메서드입니다 (iOS 9.0 이상).

UFUNCTION(BlueprintCallable, Category = "Naver CafeSdk")
static void SetUseVideoRecord(bool bUse);

4.4 콜백 델리게이트

콜백 델리게이트를 설정해 PLUG SDK에서 발생하는 사용자 이벤트를 콜백 함수로 전달합니다.

콜백 델리게이트를 통해 호출되는 메서드로 PLUG SDK 실행/종료, 글작성(이미지/동영상 첨부 개수), 가입, 댓글 작성, 투표 등을 실행할 수 있습니다.

static FOnCafeSdkStarted OnCafeSdkStarted;
static FOnCafeSdkStopped OnCafeSdkStopped;
static FOnCafeSdkClickAppSchemeBanner OnCafeSdkClickAppSchemeBanner;
static FOnCafeSdkJoined OnCafeSdkJoined;
static FOnCafeSdkPostedArticle OnCafeSdkPostedArticle;
static FOnCafeSdkPostedComment OnCafeSdkPostedComment;
static FOnCafeSdkRecordFinish OnCafeSdkRecordFinish;
static FOnCafeSdkDidVote OnCafeSdkDidVote;

Files and Folders

폴더 및 파일 이름 설명
guide/ PLUG SDK 적용 가이드가 있는 폴더
lib/ Android용 PLUG SDK 라이브러리와 iOS용 PLUG SDK 라이브러리 파일이 있는 폴더
sample/ 샘플 프로젝트가 있는 폴더
LICENSE 라이선스 파일
README.md 리드미 파일

Dependent Libraries

PLUG SDK를 사용하려면 다음 라이브러리를 프로젝트에 추가해 함께 빌드해야 합니다. 라이브러리는 샘플 프로젝트에 포함돼 있습니다.

Android용 라이브러리

iOS용 라이브러리

AFNetworking 2.x 버전과 3.x 버전 모두 사용할 수 있습니다. PLUG SDK 테스트는 AFNetworking 3.1.0 버전으로 진행했습니다.

License

PLUG SDK의 저작권은 네이버(주)에 있습니다.

NAVER Cafe SDK for Unreal Engine

Copyright 2016 NAVER Corp.
All rights reserved.

Unauthorized use, modification and redistribution of this software are strongly prohibited.

PLUG SDK 2.x, 3.x 버전은 더 이상 지원되지 않습니다.

cafe-sdk-unreal's People

Contributors

beanmilk avatar bearcola avatar changhoonyang avatar conquests avatar glinkios avatar hyunminkim81 avatar kr-park avatar stansandroid avatar wonkuym avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.