Cocos2d-x(JS) + SDKBOXで簡単Facebook連携
はじめに
Cocos2d-x用にSDKBOXというライブラリが提供されています。
SDKBOXを使うことで、Cocos2d-xを使ううえで、ネイティブ連携で苦労していた
課金まわりや、広告、分析(Analytics)といった機能を簡単に構築することができるようになりました。
http://www.cocos2d-x.org/sdkbox
JSでも使える? Web版では?
今回試したかったのはJSとの連携。C++のdocumentが多いようなのですが、
"cocos2d-x that you are using, C++ or Javascript or Lua, SDKBOX will... "
とあるので、JavaScriptでも問題なく使えます。
ただし、Web版に書き出した場合には使用できません。(iOSやAndroidアプリとして書き出した場合に使用できる)
version
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('https://raw.githubusercontent.com/sdkbox-doc/en/master/install/install.py').read(); exec s"
3)facebook-apiをインストール
cocos new sdkbox_demo -p com.your_company.mygame -l js -d /Users/user_name/workspace
cd sdkbox_demo/
python -c "import urllib; s = urllib.urlopen('https://raw.githubusercontent.com/sdkbox-doc/en/master/install/install.py').read(); exec s"
cd (自分のワークスペース)
sdkbox import facebook
4)facebookにログインした状態で、下記にアクセスする
5)add Platformで iOS を追加し、バンドルIDを入力する
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なども同じように簡単に実装できるらしいです。
これまでネイティブ連携はなかなか大変だったので、このように楽に実装できるようになると使い方広がりそうです。
参考
インストール
http://docs.sdkbox.com/en/installer/#sdkbox-installing-sdkbox-plugins-using-the-installer
Facebook使い方
http://docs.sdkbox.com/en/plugins/facebook/v3-js/
Author And Source
この問題について(Cocos2d-x(JS) + SDKBOXで簡単Facebook連携), 我々は、より多くの情報をここで見つけました https://qiita.com/oggata/items/d20c6274f3f80ded98e8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .