マーケターのプログラミング日記

東京、シンガポールを経てシリコンバレーで働く、マーケター。英語、プログラミング、データ分析は次世代マーケターの必須スキルだと信じて進む。

Flurry:実装する

さてさて、2014年にYahooから買収されたFlurry。アプリ計測ツールが無料で提供されているので、実装してみようと思います。

1) アカウント作成、SDKダウンロード

Goole Analytics SDK, Facebook SDKは、アカウントを作らずにダウンロードできるのに対し、Flurryはアカウント作成後のログイン画面でSDKをダウンロードできます。リード顧客情報が欲しい場合には、マーケティング的に正解。

f:id:yuyutata:20150524210523p:plain

 

2) .hファイルと、.aファイルをプロジェクトにdrag & paste

f:id:yuyutata:20150524212616p:plain

さてさて、Google Analyticsの時と同様に".a"拡張子が出てきました。なんだこれ。

.a files are static library files. They "contain" one or more .o files, i.e. compiled code. To use them, you (often) need the header (.h) files that correspond to the compiled code, but you do not need the source code (.c, .m) itself.

The .a files are produced with the ar utility, and the linker (ld) that is (usually) invoked by your compiler knows their format and how to extract the relevant pieces of code from the archive and into your executable.  (Source

Static Libraryってなんだ? 以下ここより抜粋

ライブラリには大きく2種類存在します。1つは「スタティックライブラリ」。これはプログラムに組み込んで最終的に実行ファイル形式内にソースを固定してしまうライブラリです。実行ファイルを作成してしまったら変更が出来ないので「スタティック(静的)」と名付けられています。拡張子はlibです。もう1つは「ダイナミックリンクライブラリ」。これは実行ファイルの中にソースを含めず、実行中にライブラリを展開してその実行バイナリコードを使用できるライブラリです。実行ファイルを作成した後もライブラリ自体の変更が可能で、それにより実行ファイルの機能を変えたり拡張できたりするので「ダイナミック(動的)」と名付けられています。拡張子はdllです。 

一旦、拡張子lib, dllは無視します。

スタティックライブラリ自体は「ソースコード」「実装部」です。よって、スタティックライブラリを自分のプログラムにリンクするとソースを使えるようになります。ただ、クラスライブラリとして作成した場合は、スタティックライブラリだけではプログラムは動きません。これはプログラムを実装部だけで動かそうとしているからです。クラスの場合必ず「宣言部」が必要になりますね。つまり、スタティッククラスライブラリを動かすにはヘッダーファイルもリンクする必要があるのです。 

つまり、GAもFlurryも".a"のstatic libraryの中にソースコードが含まれているわけです。一旦すすめます。

3) SystemConfiguration.frameworkとSecurity.frameworkを追加

GAでもSystemConfiguration.frameworkを追加しましたね!

f:id:yuyutata:20150524212553p:plain

4) ヘッダーファイルは、Objective-Cのため、いつも通りSwiftへブリッジ

詳しくはこちら

5) AppDelegateに一文加える

Flurry.startSession("YOUR_API_KEY")

f:id:yuyutata:20150524214814p:plain

6) おつかれさまでした

コンソールに以下が表示されました

2015-05-24 20:17:54.401 CoreDataDemo2[55193:1683645] Flurry: Starting session on Agent Version [Flurry_iOS_152_6.5.0]

 

雑感

SDKの中のファイルの数が3つしかないため、とてもすっきりしていて良いですね。ダッシュボードの日本語対応はしてなさそうです。

週末がっつりプログラミング学習できました。明日からまた怒涛の平日が。。さてメールボックス開くか。。.+゚ゎくゎく.+゚(o(。・д・。)o).+゚ぅきぅき.+゚

 

学習課題

  • GA、FlurryのSDKに使用されている".a"static libraryの概念的理解
  • SystemConfiguration.frameworkの理解