Cocos2d-x(JS) + SDKBOX로 간단 Facebook 연계

소개



Cocos2d-x 용 SDKBOX라는 라이브러리가 제공됩니다.
SDKBOX를 사용하여 Cocos2d-x를 사용하는 데 네이티브 연계로 고생했습니다.
청구 주위와 광고, 분석(Analytics) 등의 기능을 쉽게 구축할 수 있게 되었습니다.
h tp // w w. 여기 s2dx. rg/sdk 보 x

JS에서도 사용할 수 있습니까? Web 버전에서는?



이번 시도하고 싶은 것은 JS와의 제휴. C++의 document가 많은 것 같습니다만,
"cocos2d-x that you are using, C++ or Javascript or Lua, SDKBOX will... "
그리고 있기 때문에 JavaScript에서도 문제없이 사용할 수 있습니다.
그러나 웹 버전에 내보낸 경우에는 사용할 수 없습니다. (iOS 또는 Android 앱으로 내보낼 때 사용할 수 있음)

버전



Cocos2d-x의 2계, 3계 모두 사용할 수 있는 것 같습니다만, 이번 사용한 것은, 3.6을 이용했습니다.

로그인~공유까지의 흐름



1) 새로운 앱 만들기 (이번에는 js로 만듭니다)



cocos new sdkbox_demo -p com.your_company.mygame -l js -d/Users/user_name/workspace
cd sdkbox_demo/

2) SDKBOX 설치



python -c "import urllib; s = urllib.urlopen(' htps : // 등 w. 기테부세 r 콘텐트 t. 이 m/sdk 보 x-도 c/엔/마 s r/인 s 타 l/인 s 타 l. py'). 레 d ( ); exec s"

3) facebook-api 설치



cd (자신의 작업 공간)
sdkbox import facebook

4) facebook에 로그인한 상태에서 아래에 액세스



5) add Platform에서 iOS를 추가하고 번들 ID를 입력하십시오.



(스토어 ID는 공란으로 괜찮아 보인다)


(BundleID 확인/변경은 XCode에서 ..)


6) app.js에서 sdkbox를로드하고 설정합니다.


    sdkbox.PluginFacebook.init();
    sdkbox.PluginFacebook.setListener({
        onLogin: function(isLogin, msg) {
          if(isLogin){
            cc.log("login successful");
          }
          else {
            cc.log("login failed");
          }
        },
        onAPI: function(tag, data) {
        },
        onSharedSuccess: function(data) {
        },
        onSharedFailed: function(data) {
        },
        onSharedCancel: function() {
        },
        onPermission: function(isLogin, msg) {
          if(isLogin) {
            cc.log("request permission successful");
          }
          else {
            cc.log("request permission failed");
          }
        }
    });

7 button을 눌렀을 때 login이나 share가 발동하도록 한다


var loginItem = new cc.MenuItemImage(
    res.CloseNormal_png,
    res.CloseSelected_png,
    function () {
        sdkbox.PluginFacebook.login();
...

var shareItem = new cc.MenuItemImage(
    res.CloseNormal_png,
    res.CloseSelected_png,
    function () {
        var info = new Object();
        info.type  = "link";
        info.link  = "http://www.cocos2d-x.org";
        info.title = "cocos2d-x";
        info.text  = "Best Game Engine";
        info.image = "http://cocos2d-x.org/images/logo.png";
        sdkbox.PluginFacebook.dialog(info);
...

8.info.plist에 AppID 입력



(AppID는 Facebook의 app 페이지에 기재되어 있다)
vim/frameworks/runtime-src/proj.ios_mac/ios/Info.plist
<string>1.0</string>....

<key>FacebookAppID</key>
<string>150000000000000</string>
<key>FacebookDisplayName</key>
<string>test</string>
<key>LSApplicationQueriesSchemes</key>

...<key>LSRequiresIPhoneOS</key>
<true/>

9 .xcodeproj를 XCode에서 열고 시뮬레이터에서 실행



/hoge/frameworks/runtime-src/proj.ios_mac/hoge.xcodeproj

10공유하기



시뮬레이터에서 공유하면 ...


이렇게 공유되었습니다.


마지막으로



IAP나 AD등도 마찬가지로 간단하게 구현할 수 있는 것 같습니다.
지금까지 네이티브 제휴는 꽤 힘들었으므로, 이렇게 편하게 실장할 수 있게 되면 사용법 퍼질 것 같습니다.

참고



설치
htp // // cs. sdk 보우 x. 코 m / 엔 / 엔 s t r / # sdk bo x e s s t g g sdk bo x p ぅ gin s u shi ge t e s s t r
Facebook 사용법
htp : // cs. sdk 보우 x. 코 m / 엔 / p ㅅ 긴 s / 후세보 k / v3-js /

좋은 웹페이지 즐겨찾기