この記事は全4回の「Parse AnalyticsのiOSのANEを作りたい!」シリーズの1つです。
[AS3] Parse AnalyticsのiOSのANEを作りたい! 準備編
[AS3] Parse AnalyticsのiOSのANEを作りたい! Static Library編
[AS3] Parse AnalyticsのiOSのANEを作りたい! ActionScript編 << イマココ!
[AS3] Parse AnalyticsのiOSのANEを作りたい! ANEビルド編
—
こんにちは。きんくまです。
この間、子供たちを連れて上野の科学博物館に行ってきました。子供もようやくこういう所に連れてきても「疲れた〜」だの「だっこ〜」だの言わなくなって、それなりに展示品に興味がわいてきたみたいなので、遊びに連れていくのが楽しくなってきました。学生の頃は一人でよく博物館とか美術館に行ったので、これから楽しみです。
日本館は時間的に厳しそうなので全く見ずに、地球館の方を全部まわりました。特に印象的だったのがマンモスの化石から突き出した牙でした。「うわ!痛そう」と思いました。
さて、ひきつづきANEづくりです。今回はActionScript側のコードを作ります。
ActionScript側のコード
ActionScript側では、2つのプロジェクトを作ります。
ANEからネイティブコードを実際に呼び出すものと、そうでないものです。ネイティブコードを呼び出さないものはDefaultとしてビルドされます。
例えば、今回の場合はiOSの実機のみ対応のANEを作るので、mac(エミュレータで立ち上げ)やAndroid、iOSシミュレーターなどはDefaultが呼び出されます。
どちらの場合もプロジェクトの形式はActionScript Libraryプロジェクトを選択します。
Flash Builderの場合
ANEからネイティブコードを使うバージョン
package com.kumade.ane { import flash.events.EventDispatcher; import flash.external.ExtensionContext; public class ParseAnalyticsExtension extends EventDispatcher { private static const EXTENTION_ID:String = "com.kumade.ane.parse.analytics.extension"; private var _context:ExtensionContext; public function ParseAnalyticsExtension() { _context = ExtensionContext.createExtensionContext(EXTENTION_ID, ""); if(!_context){ throw new Error("Parse Analytics ANE could not be initialized"); return; } } /** Init Parse @param appId applicationId @param clientKey clientKey */ public function setUp(appId:String, clientKey:String):void { try{ _context.call("setUp", appId ,clientKey); }catch(err:Error){ trace(err); } } /** Call tracking api event @param eventName event name @param parameters parameters you want to track. The format is key1=value1&key2=value2.. */ public function trackEvent(eventName:String, parameters:String):void { try{ _context.call("trackEvent", eventName ,parameters); }catch(err:Error){ trace(err); } } } }
Defaultバージョン
Defaultは何もしないので、trace文を書いていますが空欄でも構わないと思います。
package com.kumade.ane { import flash.events.EventDispatcher; public class ParseAnalyticsExtension extends EventDispatcher { public function ParseAnalyticsExtension() { trace("default ParseAnalyticsExtension's constructor"); } public function setUp(appId:String, clientKey:String):void { trace("default setUp is called"); } public function trackEvent(eventName:String, parameters:String):void { trace("default trackEvent is called"); } } }
これで、各プロジェクトをビルドします。
Flash Builderの場合 Project > Build Project
binフォルダの中にswcができていたら完成です。
これでようやくANEのビルドができる準備ができました。
次回は最終回。ANEを作ってテスト送信します。
■ 自作iPhoneアプリ 好評発売中!
・フォルメモ - シンプルなフォルダつきメモ帳
・ジッピー電卓 - 消費税や割引もサクサク計算!
■ LINEスタンプ作りました!
毎日使える。とぼけたウサギ