LoginSignup
13
13

More than 5 years have passed since last update.

Cocos2d-x3.6プロジェクトにSDKBOXを導入してGoogleAnalyticsを入れる(iOS)

Last updated at Posted at 2016-01-11

概要

cocos2d-x 3.6にSDKBOXからGoogleAnalyticsを入れる記事です。

通常のiosアプリ開発の場合、GoogleAnalytics導入記事が充実していると思いますがcocos2dxを使った場合の導入方法は少なかったので書きました。

SDKBOXってなに??

SDKBOXはCocos2d-xのプロジェクトに対してサポートしているSDKを簡単に追加できるプラグインです。今回はGoogleAnalyticsのみを導入します。
image

公式HP

手順

1. SDKBOOXのインストール

まずは公式ページの手順どおり、SDKBOXのインストールをしていきます。
http://www.cocos2d-x.org/sdkbox/googleanalytics

といっても、以下のコマンドを叩けば自動でインストールできます
python -c "import urllib; s = urllib.urlopen('https://raw.githubusercontent.com/sdkbox-doc/en/master/install/install.py').read(); exec s"

インストールが完了したらターミナルを再起動するのを忘れずに。sdkBoxがきちんとインストールされれば以下のようになります。
スクリーンショット 2016-01-11 17.44.49.png

2. GoogleAnalyticsのimport

最初に、自分の作成しているゲームプロジェクトに移動します。そこで以下のコマンドを叩きます

sdkbox import googleanalytics

きちんとインストールできれば、プロジェクトファイルの中に、sdkbox.framework 、PluginGoogleAnalytics.frameworkのフレームワークが追加されていると思います。

インストールが失敗する場合
sdkbox clean
を実行して再度やりなおせばうまくいくかもしれません。

3. Libraryの追加

インストール後は、Xcodeのプロジェクトの中にライブラリーを追加します。Linked Frameworks and Librariesの中に
AdSupport.framework
CoreData.framework
SystemConfiguration.framework

を追加しましょう。

これでアプリをトラッキングする準備は整いました。

4. トラッキングコードの編集

2の手順でResourcesフォルダに追加されたであろう"sdkbox_config.json"を自分の作成したアカウントのトラッキングコードに書き換えます。

sdkbox_confi.json
{
    "android": {
        "GoogleAnalytics": {
            "trackingCode": "UA-XXXXXXXX"
        }
    }, 
    "ios": {
        "GoogleAnalytics": {
            "trackingCode": "UA-XXXXXXXX"
        }
    }
}

5. コードに埋め込む

最後に、Appdelegete.cppのapplicationDidFinishLaunching()関数でGoogleAnalyticsの初期化を行い、トラッキングしたい部分にコードを埋め込んでいきましょう。

AppDelegate.cpp
//ヘッダーファイルの追加
#include "PluginGoogleAnalytics/PluginGoogleAnalytics.h"

USING_NS_CC;
bool AppDelegate::applicationDidFinishLaunching() {

    //ここに追加
    sdkbox::PluginGoogleAnalytics::init();
    sdkbox::PluginGoogleAnalytics::startSession();

    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLViewImpl::createWithRect("GameProject", Rect(0, 0, 640, 1136));
        director->setOpenGLView(glview);
    }

    /*  省略  */

    director->runWithScene(scene);

    return true;
}

埋め込み例

以下の例では、GameScene.cppの中にある、シーン遷移が完了した時に呼ばれる関数onEnterTransitionDidFinish()の中でログの送信を行っています。

GameScene.cpp
void GameScene::onEnterTransitionDidFinish()
{
    // シーン遷移が完了したとき
    Layer::onEnterTransitionDidFinish();

    //ここのログを送信
    sdkbox::PluginGoogleAnalytics::logScreen("Main Scene");
    sdkbox::PluginGoogleAnalytics::dispatchHits();

}

リアルタイムで確認できれば成功です!

スクリーンショット 2016-01-11 18.24.52.png

まとめ

以前までは、GoogleAnalyticsを導入するのに、SDKファイルをダウンロードしてライブラリーに追加して・・・と面倒な手順が必要でしたが、現在はSDKBOXを利用すればとっても簡単に導入できます。
だれかの参考になれば嬉しいです。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13