Cocos2d-x

Quick Start

ๆœ€ๆ–ฐใƒใƒผใ‚ธใƒงใƒณใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰

ๆ—ขๅญ˜ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใซNavergame SDKใ‚’้ฉ็”จใ™ใ‚‹

ๆœฌใ‚ฌใ‚คใƒ‰ใฏใ€Cocos2d-x 3.17.2ใƒใƒผใ‚ธใƒงใƒณใ‚’ๅŸบๆบ–ใซไฝœๆˆใ•ใ‚Œใฆใ„ใพใ™ใ€‚

1. ใƒ—ใƒญใ‚ฐใ‚คใƒณใฎๆง‹ๆˆ

  • ใ‚ตใƒณใƒ—ใƒซใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆๅ†…ใฎPluginsใƒ•ใ‚ฉใƒซใƒ€ใซใฏSDKใซๅฟ…่ฆใชใƒ•ใ‚กใ‚คใƒซใŒๅ…ฅใฃใฆใ„ใพใ™ใ€‚

  1. android : android buildใซๅฟ…่ฆใชใƒ•ใ‚กใ‚คใƒซใŒๅ…ฅใฃใฆใ„ใพใ™ใ€‚

  2. ios : ios buildใซๅฟ…่ฆใชใƒ•ใ‚กใ‚คใƒซใŒๅ…ฅใฃใฆใ„ใพใ™ใ€‚

  3. navergamesdk : cocos2d-xใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใจandroidใ€iosใชใฉๅ„ใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใซ้€ฃๅ‹•ใ™ใ‚‹ๅฟ…่ฆใฎใ‚ใ‚‹ใƒ•ใ‚กใ‚คใƒซใŒๅ…ฅใฃใฆใ„ใพใ™ใ€‚

2. ใƒ—ใƒญใ‚ฐใ‚คใƒณใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซ

  • ่ฒด็คพใฎCocos2d-xใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใจSDKใ‚’้€ฃๅ‹•ใ•ใ›ใ‚‹ใŸใ‚ใซใฏใ€Pluginsๅ†…ใฎnavergamesdkใƒ•ใ‚ฉใƒซใƒ€ใ‚’ไปฅไธ‹ใฎใ‚ˆใ†ใซ่ฒด็คพใฎใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆๅ†…ใฎClassesใƒ•ใ‚ฉใƒซใƒ€ใฎไธญใซใ‚ณใƒ”ใƒผใ—ใฆใใ ใ•ใ„ใ€‚

  • ่ฒด็คพใฎใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใงandroidๆˆ–ใ„ใฏiosใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ‚’ไธ€ใคใ ใ‘ใƒชใƒชใƒผใ‚นใ™ใ‚‹ไบˆๅฎšใฎๅ ดๅˆใฏใ€platform็”ป้ขไธ‹ใฎandroidๆˆ–ใ„ใฏiosใƒ•ใ‚ฉใƒซใƒ€ใฎใ†ใก่ฉฒๅฝ“ใ™ใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ใฎใฟใ‚’ๆฎ‹ใ—ใฆๅ‰Š้™คใ™ใ‚‹ใจ่‰ฏใ„ใงใ—ใ‚‡ใ†ใ€‚

2-1. NaverGameSDK.h

  • ๅฝ“่ฉฒใƒ•ใ‚กใ‚คใƒซๅ†…ใซใฏsdk้€ฃๅ‹•ใซๅฟ…่ฆใชใ‚ณใƒผใƒ‰ใŒไฝœๆˆใ•ใ‚Œใฆใ„ใพใ™ใ€‚

3. ใƒ—ใƒญใƒ•ใ‚คใƒณใฎ้ฉ็”จ

่ฒด็คพใฎใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆๅ†…ใงsdkใ‚’ไฝฟ็”จใ—ใŸใ„ๅ ดๆ‰€ใซใƒ˜ใƒƒใƒ€ใƒ•ใ‚กใ‚คใƒซใ‚’includeใ•ใ›ใฆใใ ใ•ใ„ใ€‚

(ใ‚ตใƒณใƒ—ใƒซใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใงใฏHelloWorldScene.hใซ้ฉ็”จใ•ใ‚Œใฆใ„ใพใ™ใ€‚)

#include "NaverGameSDK.h"
  • NaverGameSDK.hใŒ่ฆ‹ใคใ‹ใ‚‰ใชใ„ใจ่กจ็คบใ•ใ‚ŒใŸๅ ดๅˆใฏใ€rootProject/CmakeLists.txtใซใƒ˜ใƒƒใƒ€ใƒ•ใ‚กใ‚คใƒซใ‚’ไธ‹ใฎ็”ปๅƒใฎใ‚ˆใ†ใซ่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚

ใƒ˜ใƒƒใƒ€ใƒ•ใ‚กใ‚คใƒซใจcppใƒ•ใ‚กใ‚คใƒซใ‚’็™ป้Œฒใ—ใฆใใ ใ•ใ„ใ€‚
navergamesdkใƒ•ใ‚ฉใƒซใƒ€ใ‚’็™ป้Œฒใ—ใฆใใ ใ•ใ„ใ€‚

3-1. SDKใฎๅˆๆœŸๅŒ–

SDKใ‚’ๅˆๆœŸๅŒ–ใ™ใ‚‹ใจใใฏใ€ไปฅไธ‹ใฎใ‚ˆใ†ใซๅˆๆœŸๅŒ–ใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’่จญๅฎšใ—ใฆinit()ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ๅ‘ผใณๅ‡บใ—ใฆใใ ใ•ใ„ใ€‚

nng::NaverGameSDK::init("UKvNABLDsyEJusJGsXL2", "rK4suc_Qd0", "naver_game_4developer");

3-2. SDKใ‚คใƒ™ใƒณใƒˆใƒชใ‚นใƒŠใƒผใฎ็™ป้Œฒ

SDKใŒ้€ไฟกใ™ใ‚‹ๆง˜ใ€…ใชใ‚คใƒ™ใƒณใƒˆใ‚’ๅ—ใ‘ๅ–ใ‚‹ใŸใ‚ใซใฏใƒชใ‚นใƒŠใƒผใ‚’็™ป้Œฒใ—ใชใ‘ใ‚Œใฐใชใ‚Šใพใ›ใ‚“ใ€‚

//๋ฆฌ์Šค๋„ˆ๋Š” NaverGameSDK.h ์— ์„ ์–ธ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.
nng::NaverGameSDK::setSdkListener(this);

3-3. SDKๅฏพๅฟœFuntionใ‚’็ขบ่ชใ™ใ‚‹

  1. ใƒ›ใƒผใƒ ใƒใƒŠใƒผใ‚’ๅ‘ผใณๅ‡บใ™

nng::NaverGameSDK::startHomeBanner();

2. ็‚นๆคœใƒใƒŠใƒผใ‚’ๅ‘ผใณๅ‡บใ™

nng::NaverGameSDK::startSorryBanner();

3. ็‰นๅฎšใฎๆŽฒ็คบๆฟใ‚’ๅ‘ผใณๅ‡บใ™

nng::NaverGameSDK::startBoard(boardId);

4. ็‰นๅฎšใฎๆŠ•็จฟใ‚’ๅ‘ผใณๅ‡บใ™

็™ป้Œฒใ•ใ‚ŒใŸๆŠ•็จฟใฎ็•ชๅทใงใ™ใใซๅฎŸ่กŒใ™ใ‚‹ใƒกใ‚ฝใƒƒใƒ‰ใงใ™ใ€‚ไบˆ็ด„ๆฉŸ่ƒฝใซใ‚ˆใฃใฆ็™ป้Œฒใ•ใ‚ŒใŸไบˆ็ด„ๆŠ•็จฟใฎๅ ดๅˆใฏใ€ไบˆ็ด„ๆŠ•็จฟใฎ็•ชๅทใ‚’FeedIDใซๅ…ฅๅŠ›ใ—ใฆIsTempFeedIdใ‚’Trueใจๅ…ฅๅŠ›ใ—ใฆใใ ใ•ใ„ใ€‚

nng::NaverGameSDK::startFeed(feedId, isTempFeedId);

5. sdkใ‚’็ต‚ไบ†ใ•ใ›ใ‚‹

nng::NaverGameSDK::stopSdk

6. ๅ›ฝใ‚ณใƒผใƒ‰ใ‚’ๅ‘ผใณๅ‡บใ™

ใƒขใƒใ‚คใƒซๆฉŸๅ™จใฎcountryCodeใ‚’ๅ–ๅพ—ใ—ใพใ™ใ€‚ๅฟ…ใšinit()ใƒกใ‚ฝใƒƒใƒ‰ใŒๅ‘ผใณๅ‡บใ—ใŸๅพŒใซๅ‘ผใณๅ‡บใ—ใŸๅ ดๅˆใฎใฟๆญฃๅธธๅ€คใ‚’ๅพ—ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

nng::NaverGameSDK::getCountryCode();

countryCodeใฏ2ๆ–‡ๅญ—ใฎใ‚ขใƒซใƒ•ใ‚กใƒ™ใƒƒใƒˆใงๆง‹ๆˆใ•ใ‚ŒใŸๅ›ฝใ‚ณใƒผใƒ‰(ISO 3166-1 alpha-2)ใงใ™ใ€‚ใ“ใ‚Œใ‚’ๆดป็”จใ™ใ‚‹ใจใ€ใ‚ณใƒผใƒ‰ๅ†…ใงๅ›ฝๅˆฅใซๅˆ†ๅฒๅ‡ฆ็†ใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚ไธปใชๅ›ฝใ‚ณใƒผใƒ‰ใฏไปฅไธ‹ใฎใจใŠใ‚Šใงใ™ใ€‚ใใฎไป–ใฎๅ›ฝใ‚ณใƒผใƒ‰ใฏใƒชใƒณใ‚ฏใ‚’ใ”ๅ‚่€ƒใซใ—ใฆใใ ใ•ใ„ใ€‚

ๅ›ฝใ‚ณใƒผใƒ‰

ๅ›ฝ

CN

ไธญๅ›ฝ

JP

ๆ—ฅๆœฌ

KR

้Ÿ“ๅ›ฝ

TH

ใ‚ฟใ‚ค

US

็ฑณๅ›ฝ

Androidใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใซNavergame SDKใ‚’้ฉ็”จใ•ใ›ใ‚‹

ไปฅไธ‹ใฏใ‚ตใƒณใƒ—ใƒซใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎAndroidใƒ“ใƒซใƒ‰็’ฐๅขƒใงใ™ใ€‚ใ”ๅ‚่€ƒใซใ—ใฆใใ ใ•ใ„ใ€‚

  • Cocos2d-x 3.17.2

  • Android Studio 4.2

  • Gradle 4.9 (proj.android/gradle/wrapper/gradle-wrapper.properties)

  • Ndk 16.1.4479499

  • Cmake 3.10.2.4988404 (with Ninja 1.10.2)

โ€‹

1. Cocos2d-xใจAndroidใ‚’้€ฃ็ตใ™ใ‚‹ใƒ–ใƒชใƒƒใ‚ธใƒ•ใ‚กใ‚คใƒซ(ใ‚ณใƒผใƒ‰)ใ‚’่ฟฝๅŠ ใ™ใ‚‹

ใ‚ตใƒณใƒ—ใƒซใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎPluginsใƒ•ใ‚ฉใƒซใƒ€ใงใ™ใ€‚

Pluginsใƒ•ใ‚ฉใƒซใƒ€ๅ†…ใฎandroidใƒ•ใ‚ฉใƒซใƒ€ใฎๅ†…ๅฎนใงใ™ใ€‚

  1. com...ใƒ•ใ‚ฉใƒซใƒ€ๅ†…ใฎ็ซฏใซใฏใ€androidใงcocosใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใจใƒ–ใƒชใƒƒใ‚ธใฎๅฝนๅ‰ฒใ‚’ใ™ใ‚‹NNGSdk.javaใƒ•ใ‚กใ‚คใƒซใŒๅ…ฅใฃใฆใ„ใพใ™ใ€‚

  2. navergame-sdk-gradle-x.x.x.aarใฏNavergame sdkใƒฉใ‚คใƒ–ใƒฉใƒชใงใ™ใ€‚

ใ‚ตใƒณใƒ—ใƒซใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใฎๆง‹้€ ใงใ™ใ€‚

1-1. navergame-sdk-gradle-x.x.x.aar

Naver Game SDKใƒฉใ‚คใƒ–ใƒฉใƒชใงใ™ใ€‚

  • rootProject/proj.android/app/libsใƒ•ใ‚ฉใƒซใƒ€ใซ่ฒผใ‚Šไป˜ใ‘ใฆใใ ใ•ใ„ใ€‚libsใƒ•ใ‚ฉใƒซใƒ€ใŒใชใ„ๅ ดๅˆใฏไฝœๆˆใ—ใฆใใ ใ•ใ„ใ€‚

1-2. NNGSdk.java

AndroidใงCocos2d-xใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใจSDKใ‚’้€ฃ็ตใ•ใ›ใ‚‹ใƒ–ใƒชใƒƒใ‚ธใ‚ณใƒผใƒ‰ใŒไฝœๆˆใ•ใ‚ŒใŸใƒ•ใ‚กใ‚คใƒซใงใ™ใ€‚

  • rootProject/proj.android/app/srcใƒ•ใ‚ฉใƒซใƒ€ใซ่ฒผใ‚Šใคใ‘ใฆใ ใ•ใ„ใ€‚com..ใงใฏใ˜ใพใ‚‹ใƒ•ใ‚ฉใƒซใƒ€ๅ…จไฝ“ใ‚’่ฒผใ‚Šไป˜ใ‘ใฆใใ ใ•ใ„ใ€‚

1-3. NaverGameSDK.cpp

Cocos2d-xใงAndroidใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใจ้€ฃ็ตใ•ใ›ใ‚‹ใƒ–ใƒชใƒƒใ‚ธใ‚ณใƒผใƒ‰ใŒไฝœๆˆใ•ใ‚ŒใŸใƒ•ใ‚กใ‚คใƒซใงใ™ใ€‚

  • rootProject/Classes/navergamesdk/platform/android/NaverGameSDK.cppใƒ•ใ‚กใ‚คใƒซใŒใ‚ใ‚‹ใ‹็ขบ่ชใ—ใฆใ€ใชใ„ๅ ดๅˆใฏPluginsใƒ•ใ‚ฉใƒซใƒ€ใงๆŽขใ—ใฆ่ฒผใ‚Šไป˜ใ‘ใฆใใ ใ•ใ„ใ€‚

  • cocos2d-xใƒใƒผใ‚ธใƒงใƒณใซใ‚ˆใฃใฆJniHelperใŒๅˆฅใฎๅๅ‰ใงไฝœๆˆใ•ใ‚Œใฆใ„ใ‚‹ๅ ดๅˆใŒใ‚ใ‚‹ใฎใงใ€ใƒใƒผใ‚ธใƒงใƒณใŒ็•ฐใชใ‚‹ๅ ดๅˆใฏ็ขบ่ชใ—ใฆใฟใฆใใ ใ•ใ„ใ€‚

#include "NaverGameSDK.h"
#include "platform/android/jni/JniHelper.h"

using namespace cocos2d;

namespace nng {
    static bool getStaticMethod(JniMethodInfo &methodinfo, const char *methodName, const char *paramCode) {
        static const char* kCafeSdkClass = "com/navercorp/nng/cocos2dx/sample/NNGSdk";
        return JniHelper::getStaticMethodInfo(methodinfo, kCafeSdkClass, methodName, paramCode);
    }

    static NaverGameSDKListener* sdkListener = nullptr;

    void NaverGameSDK::setSdkListener(NaverGameSDKListener* listener) {
        sdkListener = listener;
    }

    void NaverGameSDK::init(std::string clientId, std::string clientSecret, std::string loungeId) {
        JniMethodInfo t;
        if (getStaticMethod(t, "init","(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V")) {
            jstring _clientId = t.env->NewStringUTF(clientId.c_str());
            jstring _clientSecret = t.env->NewStringUTF(clientSecret.c_str());
            jstring _loungeId = t.env->NewStringUTF(loungeId.c_str());

            t.env->CallStaticVoidMethod(t.classID, t.methodID, _clientId, _clientSecret, _loungeId);

            t.env->DeleteLocalRef(_clientId);
            t.env->DeleteLocalRef(_clientSecret);
            t.env->DeleteLocalRef(_loungeId);
            t.env->DeleteLocalRef(t.classID);
        }
    }

    .
    .
    .

    extern "C" {
        JNIEXPORT void JNICALL
        Java_com_navercorp_nng_cocos2dx_sample_NNGSdk_onSdkStarted(JNIEnv* env, jclass thiz) {
            if (sdkListener == nullptr) return;
            sdkListener->onSdkStarted();
        }

        .
        .
        .
    }
}   /* namespace nng */
  • kCafeSdkClass = "com/navercorp/nng/cocos2dx/sample/NNGSdk";

    • NNGSdk.javaใƒ•ใ‚กใ‚คใƒซใฎใƒญใ‚ฑใƒผใ‚ทใƒงใƒณใƒ‘ใ‚นใงใ™ใ€‚NNGSdk.javaใฎใƒญใ‚ฑใƒผใ‚ทใƒงใƒณใƒ‘ใ‚นใ‚’ๅค‰ๆ›ดใ—ใŸๅ ดๅˆใฏใ€ๅฝ“่ฉฒใƒญใ‚ฑใƒผใ‚ทใƒงใƒณใซๅˆใ‚ใ›ใฆไฟฎๆญฃใ—ใฆใใ ใ•ใ„ใ€‚

  • Java_com_navercorp_nng_cocos2dx_sample_NNGSdk_

    • NNGSDK.javaใƒ•ใ‚กใ‚คใƒซใฎใƒญใ‚ฑใƒผใ‚ทใƒงใƒณใƒ‘ใ‚นใงใ™ใ€‚NNGSdk.javaใฎใƒญใ‚ฑใƒผใ‚ทใƒงใƒณใƒ‘ใ‚นใ‚’ๅค‰ๆ›ดใ—ใŸๅ ดๅˆใฏใ€ๅฝ“่ฉฒใƒญใ‚ฑใƒผใ‚ทใƒงใƒณใซๅˆใ‚ใ›ใฆไฟฎๆญฃใ—ใฆใใ ใ•ใ„ใ€‚

2. Androidใงใƒ“ใƒซใƒ‰ใ™ใ‚‹ใŸใ‚ใฎ่จญๅฎš

1-1. AndroidManifest.xml

  • rootProject/proj.android/app/AndroidManifest.xmlใƒ•ใ‚กใ‚คใƒซๅ†…ใซSDKใงๅฟ…่ฆใชๆจฉ้™ใ‚’่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

1-2. build.gradle

  • rootProject/proj.android/app/build.gradleใƒ•ใ‚กใ‚คใƒซๅ†…ใซSDKใจSDKใงๅฟ…่ฆใชใƒฉใ‚คใƒ–ใƒฉใƒชใ‚’่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚

dependencies {
    implementation project(':libcocos2dx')
    /**
     * Navergame sdk์™€ ํ•„์š”ํ•œ libraries
     */
    implementation files('libs/navergame-sdk-gradle-1.1.0.aar')
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.3.72"            // Kotlin
    implementation "androidx.viewpager2:viewpager2:1.0.0"
    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
    implementation "com.github.bumptech.glide:glide:3.7.0"                // Glide
    implementation "com.squareup.retrofit2:retrofit:2.6.4"                // Retrofit, Gson
    implementation "com.squareup.retrofit2:converter-gson:2.7.2"          // Retrofit, Gson
}

1-3. ndkใจcmakeใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซ

  • Android Studioใฎๅˆฉ็”จๆ–นๆณ•

    • Android Studio -> Preferences -> ๆคœ็ดขใงsdkใ‚’ๆคœ็ดขๅพŒใ€sdk toolsใ‚ฟใƒ–ใงndkใจcmakeใ‚’ใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰ใ—ใฆใใ ใ•ใ„ใ€‚(Show Package Detailsใ‚’ใƒใ‚งใƒƒใ‚ฏใ—ใฆใใ ใ•ใ„ใ€‚)

ocos-3.17.2ใƒใƒผใ‚ธใƒงใƒณๅŸบๆบ–ใงndk-16.1.4479499ใ€cmake-3.10.2.4988404ใƒใƒผใ‚ธใƒงใƒณใ‚’ไฝฟ็”จใ—ใพใ—ใŸใ€‚

1-4. ndkใ€cmakeใฎ้ฉ็”จ

  • rootProject/proj.android/local.propertiesใƒ•ใ‚กใ‚คใƒซใซndkใ€cmakeใ‚คใƒณใ‚นใƒˆใƒผใƒซใƒ•ใ‚กใ‚คใƒซใƒ‘ใ‚นใ‚’ๅ…ฅๅŠ›ใ—ใฆใใ ใ•ใ„ใ€‚

3. Androidใงใƒ“ใƒซใƒ‰ใ™ใ‚‹

Cocos2d-xใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใ‚’Androidใงใƒ“ใƒซใƒ‰ใ™ใ‚‹ๆ–นๆณ•ใฏ2ใคใ‚ใ‚Šใพใ™ใ€‚

  • cmake

  • ndk

ๆญฃ็ขบใชๅ็งฐใฏcocos2d-xใฎใƒใƒผใ‚ธใƒงใƒณใซใ‚ˆใฃใฆ็•ฐใชใ‚‹ใ“ใจใŒใ‚ใ‚‹ใฎใง็ขบ่ชใ—ใฆใใ ใ•ใ„ใ€‚3.17.2ใƒใƒผใ‚ธใƒงใƒณๅŸบๆบ–ใงใฏใ€build.gradleใƒ•ใ‚กใ‚คใƒซๅ†…ใง็ขบ่ชใงใใพใ™ใ€‚

3.17.2ใƒใƒผใ‚ธใƒงใƒณๅŸบๆบ–ใงใ€Œndk-buildใ€ใจใ€Œcmakeใ€ใงใ™ใ€‚

3-0. ใƒ“ใƒซใƒ‰ใ‚ฟใ‚คใƒ—ใฎ้ฉ็”จๆ–นๆณ•

rootProject/proj.android/gradle.propertiesใƒ•ใ‚กใ‚คใƒซๅ†…ใฎPROP_BUILD_TYPEใƒ—ใƒญใƒ‘ใƒ†ใ‚ฃใงๅฎšใ‚ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

  • cmakeใงใƒ“ใƒซใƒ‰ใ™ใ‚‹ๅ ดๅˆใฏใ€PROP_BUILD_TYPE=cmakeใซ่จญๅฎšใ—ใฆใใ ใ•ใ„ใ€‚

3-1. CMAKEใงใƒ“ใƒซใƒ‰ใ™ใ‚‹

3-2. NDKใงใƒ“ใƒซใƒ‰ใ™ใ‚‹

  • rootProject/proj.android/gradle.propertiesๅ†…ใฎPROP_BUILD_TYPE=ndk-buildใ‚’็ขบ่ชใ—ใฆใใ ใ•ใ„ใ€‚

  • rootProject/proj.android/app/jni/Android.mkใซSDKใซๅฟ…่ฆใชใƒ•ใ‚กใ‚คใƒซใจใƒ•ใ‚ฉใƒซใƒ€ใƒ‘ใ‚นใ‚’่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚

  • rootProject/proj.andorid/local.propertiesใซndkใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซใƒ•ใ‚กใ‚คใƒซใƒ‘ใ‚นใŒๆญฃใ—ใๅ…ฅๅŠ›ใ•ใ‚ŒใŸใ‹็ขบ่ชใ—ใฆใใ ใ•ใ„ใ€‚

  • ใƒ“ใƒซใƒ‰ใƒœใ‚ฟใƒณใ‚’ใ‚ฏใƒชใƒƒใ‚ฏ๏ผ

iOSใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใซNavergame SDKใ‚’้ฉ็”จใ™ใ‚‹

NAVERใ‚ฒใƒผใƒ ใฎiOS SDKใฏใ€iOS 12.0ไปฅ้™ใฎใƒใƒผใ‚ธใƒงใƒณใซๅฏพๅฟœใ—ใฆใ„ใพใ™ใ€‚

NAVERใ‚ฒใƒผใƒ SDKใ‚’ไฝฟ็”จใ™ใ‚‹ๅ ดๅˆใฏใ€XCodeใงไปฅไธ‹ใฎใ‚ˆใ†ใซ้–‹็™บ็’ฐๅขƒใ‚’่จญๅฎšใ—ใฆใใ ใ•ใ„ใ€‚

  • TARGETS้ …็›ฎใฎใ†ใกๅฎŸ่กŒใ•ใ‚Œใ‚‹ใ‚ขใƒ—ใƒชใ‚’้ธๆŠžใ—ใฆใใ ใ•ใ„ใ€‚

  • Build Settingใ‚ฟใƒ–ใ‚’้ธๆŠžใ—ใฆLinking้ …็›ฎใงOther Linker Flagsใ‚’ๆŽขใ—ใฆใใ ใ•ใ„ใ€‚

    • BasicใพใŸใฏCustomizedใƒขใƒผใƒ‰ใฎๅ ดๅˆใฏใ€Other Linker FlagใŒ่ฆ‹ใˆใชใ„ๅ ดๅˆใŒใ‚ใ‚Šใพใ™ใ€‚ใ“ใฎๅ ดๅˆใฏใ€Allใƒขใƒผใƒ‰ใ‚’้ธๆŠžใ—ใฆใใ ใ•ใ„ใ€‚

    • ็”ป้ขๅณไธŠใซใ‚ใ‚‹ๆคœ็ดขใ‚ฆใ‚ฃใƒณใƒ‰ใ‚ฆใซOther Linker Flagใ‚’ๅ…ฅๅŠ›ใ™ใ‚‹ใจๅฎนๆ˜“ใซ่ฆ‹ใคใ‘ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

  • Other Linker Flagsใซ-ObjCใ‚ชใƒ—ใ‚ทใƒงใƒณใจ-lc++ใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚

  • Info.plistใซไปฅไธ‹ใฎใƒฆใƒผใ‚ถใƒผๆจฉ้™็ฒๅพ—ใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚

    • Privacy - Camera Usage Description

    • Privacy - Photo Library Usage Description

  • TARGETS้ …็›ฎใฎใ†ใกๅฎŸ่กŒใ•ใ‚Œใ‚‹ใ‚ขใƒ—ใƒชใ‚’้ธๆŠžใ—ใฆInfoใ‚ฟใƒ–ใฎURL Types้ …็›ฎใซIdentifierๅ€คใจURL Schemesๅ€คใ‚’ๅ…ฅๅŠ›ใ—ใฆใใ ใ•ใ„ใ€‚

  • Identifierๅ€คใฏๅฝ“่ฉฒTARGETใฎGeneralใ‚ฟใƒ–ใง็ขบ่ชใงใใพใ™ใ€‚

  • URL Schemesๅ€คใซใฏNAVER IDใงใƒญใ‚ฐใ‚คใƒณ้–‹็™บ่€…ใ‚ปใƒณใ‚ฟใƒผใซใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใ‚’็™ป้Œฒๆ™‚ใซๅ…ฅๅŠ›ใ—ใŸURL Schemeๅ€คใ‚’ๅ…ฅๅŠ›ใ—ใฆใใ ใ•ใ„ใ€‚

Last updated

Was this helpful?