Cocos Creator と SDKBOX を使って Firebase の Analytics を実装する

Uncategorized
527 words

スマホゲームを作った際、ユーザーの動向を探るために Analytics を実装したいと思います。

Firebase の Analytics は優秀で、指定した箇所にログを仕込んで、バックグラウンドで Analytics にアップロードしてくれるので、開発者の負担がほぼゼロなのです。

開発環境

事前準備

  • Cocos Creator で Android Native Build が出来るようにしておく。
  • Google Firebaseプロジェクトを作成しておく。

実装手順

Cocosプロジェクトに Firebase をインポートする

SDKBOX GUI を開く。
[Extension] > [SDKBox] > [Launch]

SDKBOX GUI の Import を選択する。

Firebase の Import を選択する。

確認ダイアログ の Import ボタンを押す。

自動的に、Google Play Services プラグインと Firebase プラグインがインポートされる。

これで、Firebase のインポート作業は完了です。

Firebase設定ファイルを作成する

次にアンドロイドプロジェクトに読み込ませる、Firebase設定ファイルを作成する。

Google Firebase から、[google-services.json]をダウンロードする。

python を使って、[google-services.json]を xml形式に変換する。

 [google-services.json]があるフォルダで下記コマンドを実行する。

1
python -c "import urllib; import sys; sys.argv = ['transpy', '-i', './google-services.json', '-o', './googleservices.xml']; s = urllib.urlopen('https://raw.githubusercontent.com/sdkbox-doc/en/master/tools/generate_xml_from_google_services_json.py').read(); exec(s);"

「 googleservices.xml 」が出来るので、「 NewProject\build\jsb-link\frameworks\runtime-src\proj.android-studio\app\res\values 」フォルダに移動させる。

これで、Firebase設定ファイルの作成は完了です。

JavaScript にログ出力処理を書く

最後に、実際に使うためのコードを書く。 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cc.Class({
extends: cc.Component,

properties: {},

// use this for initialization
onLoad: function () {
sdkbox.firebase.Analytics.init();
},

onButtonClicked: function () {
const evt = {}
evt[sdkbox.firebase.Analytics.Param.kFIRParameterItemID] = 'id123456';
evt[sdkbox.firebase.Analytics.Param.kFIRParameterItemName] = 'name123456';
evt[sdkbox.firebase.Analytics.Param.kFIRParameterItemCategory] = 'category123456';
evt[sdkbox.firebase.Analytics.Param.kFIRParameterPrice] = '123.4';
sdkbox.firebase.Analytics.logEvent(sdkbox.firebase.Analytics.Event.kFIREventViewItem, evt);
}
});

Compile してAndroid実機に転送してログ出力を試す。

 なにがしかのログが出れば導入成功です。

まとめ

まだ、SDKBOXのFirebase plugin for Cocos2d-x では、Analytics しか実装されていません。

Firebase では、他にもできることがたくさんあるので、早く実装してほしいですね。

特に私が待ち焦がれているのは、Authentication の認証機能ですね。

Firebase plugin に Authentication が実装されたら、Cocos2d-js がさらに盛り上がると思っています。