ズッコケGuysのタイトル画面から、「AND MORE APP」というボタンを押すと、App Storeが起動します。そして、Dr. Mandalaというアプリケーションを紹介するようになっています。いわゆるセルフ広告です。
この導線は、紹介するアプリがひとつしかない場合は簡潔で良いのですが、紹介したいアプリが増えてくると問題が生じます。
ネコグラス時計がもう直ぐリリースされるはずなので、ズッコケGuys上でのセルフ広告システムをバージョンアップしました。
セルフ広告は、頻繁に変更できるように、広告データ本体は外部サーバに持たせて、3Gもしくは Wifi 回線から取得します。
まわりくどくなってしまいましたが(笑)、ようするにAIRのStageWebViewクラスを使って、HTMLでセルフ広告を表示する方法にしました。
アプリアイコン(リンク)をタップすると、App Storeが起動して、そのアプリのページまで移動するので、機能的にも問題ありません。
以下が全コードです。
var webView:StageWebView = new StageWebView(); var rect:Rectangle = new Rectangle(0,0,STAGE_WIDTH,STAGE_HEIGHT-30); webView.viewPort = rect; webView.stage = stage; webView.addEventListener(ErrorEvent.ERROR, onWebViewError ); webView.addEventListener(LocationChangeEvent.LOCATION_CHANGING, onWebViewLocChanging ); webView.addEventListener(LocationChangeEvent.LOCATION_CHANGE, onWebViewLocChange ); // ロケールによって読み込むURLを変える var adUrl:String = Locale.loadString("IDS_AD_URL"); try { webView.loadURL(adUrl); } catch (e:Error) { trace(e); } function onWebViewLocChange( event:LocationChangeEvent ):void { trace("Change to "+ event.location); if (event.location != adUrl) { navigateToURL( new URLRequest( event.location ) ); try { webView.loadURL(adUrl); } catch (e:Error) { trace(e); } } } function onWebViewLocChanging( event:LocationChangeEvent ):void { trace( "Changing " + event.location); event.preventDefault(); navigateToURL( new URLRequest( event.location )); } function onWebViewError( error:ErrorEvent ):void { trace( error ); }
気を付けなければならないのは、StageWebView は Spriteクラスなどの表示オブジェクトとは違い、コンテナ先は stage しか選べないということです。
表示プライオリティは、全表示オブジェクトよりも上になってしまうようです。
かなりゴリ押しな実装のようですね(笑)
0 件のコメント:
コメントを投稿