2012-01-03 5 views
3

私はGoogle IMA広告のHTML5版を取り込むことができ、MediaElementのFLAプロジェクトファイルにフックしようとしています。Google IMA + MediaElementJS

IMAは、ステージに簡単に追加して設定できるFlashコンポーネントを使用します。 Google IMA Flash SDKを使用せずに、MediaElements.JSでこれを使用する方法はありますか?

UPDATE

現在、私はメディアプレイヤーに自分のSWCコンポーネントを組み込むことにGoogle's IMA siteからの指示に従っててきました。

理想的には、JavaScript広告を設定、トリガー、停止、削除するためにJavaScript関数からいくつかの変数を渡してください。

まあ
+0

あなたのプロセスを少し詳しく説明できますか?あなたが現在持っているワークフローと、あなたが見たいと思うワークフローはどうですか? – iND

+0

私はそれが少し広いと思っていましたが、誰かがすぐにMediaElement.JS(これはサポートのためにリンクしています)に広告を掲載するためのチュートリアルを投稿していたことに気付きました。 VAST広告。 –

答えて

0

誰も知らないかお答えしていく所存ですので、..

MediaElement.JSのウェブサイトによると、すぐにpostrollsのチュートリアルがあるでしょう。そのヒットするたびに(または私はこのActionScriptで作業する前に)私はここでプレロールバージョンを投稿します。

UPDATE:

は、最終的に我々はそれを考え出しました。メディア要素、特にFlashMediaElement.asファイルに追加する必要があるものがいくつかあります。

まず、Google IMA ActionScript 3コンポーネントをダウンロードしてインストールします。

次は、MediaElementの\ src \ flash \フォルダにあるFlashMediaElement.flaFlashMediaElement.asです。

.FLAファイルでは、ステージにGoogle IMAコンポーネントを追加して、プリロールタグを任意のURLに設定する必要があります。これは、単にそのフィールドを.asスコープで利用できるようにします。

// Google Ad Object 
    private var ads:Object; 

    private var ad:Object = { 
      type:'', 
      url:'' 
     }; 

    private var episodeData:Object = { 
      pre:ad, post:ad, 
      video:'', 
      pageTitle:'', 
      title:'', 
      source:'' 
     }; 

次にアップし、コンストラクタに行くpublic function FlashMediaElement() {とepisodeDataの値を設定します。

最後の.asファイルにFlashMediaElementクラスに次のプロパティを追加することにより、GoogleのIMAを統合し始めます。これらを動的に入力する方法はいくつかあります。この例では、HTMLまたはJSでmediaelement.swfが表示されているところにsimple flashvarsを追加しています。mediaelement.swf?title = YourTitleなどです。コンストラクタの終わりに

 // get parameters 
     var params:Object = LoaderInfo(this.root.loaderInfo).parameters; 
     //Media Element Params start here 
     . 
     . 
     . 

     customVariable = (params['customVariable'] != undefined) ? (String(params['customVariable']) : "DefaultStringValue"; 

あなたがしなければならないすべては、コールaddEventListener(Event.ADDED_TO_STAGE, initialize);

最後に、最後のステップは、あなたのFlashMediaElementクラスの終わりにGoogleのIMA例から、以下の機能を配置することです。

 private function initialize(event:Event):void 
     { 
      removeEventListener(Event.ADDED_TO_STAGE, initialize); 
      // videoComponent is the name of the Google In-Stream component instance 
      // on the stage. 
      log("component version: " + videoComponent.getVersion()); 
      videoComponent.addEventListener("adStart", onAdStart); 
      videoComponent.addEventListener("adComplete", onAdComplete); 
      // Attach event listeners to the video component for access 
      // to the ads object. The ads object is used for various purposes 
      // such as resetting ads across multiple content pieces. 
      videoComponent.addEventListener("adsReady", onAdsReady); 
      videoComponent.addEventListener("error", onAdError); 
      // Attach event listener to the flvplayback component to listen to 
      // the content complete event. 
      _video.addEventListener("complete", onContentComplete); 
     } 

      private function onAdsReady(event:Object):void { 
       // Extract the ads object from the adsReady event which is later used to 
       // reset the ads. 
       // The adsReady event is fired when the ads requested through the 
       // component are initialized. 
      AdSlotSettings.prerollAdTag = episodeData.pre.url; 
      ads = event.getAds(); 
      } 

      private function onContentComplete(event:Event):void { 
       log("Content complete"); 
       if (ads) { 
      log("Resetting ads."); 
      ads.resetAds(); 
       } 
      } 

      private function onAdStart(event:Object):void { 
       log("Ad has started."); 
      } 

      private function onAdComplete(event:Object):void { 
       log("Ad has completed."); 
      } 

      private function onAdError(event:Object):void { 
       log("Error occured while playing the ad. Error : " 
       + event.getError().message); 
      } 

      private function log(msg:Object):void { 
       //textAreaLogger.appendText(msg + "\n"); 
      } 

textAreaLoggerは、Googleの例の動的テキストフィールドを参照します。 MediaElementの組み込みのデバッグテキストウィンドウを使用する場合は、Googleのコードと少し異なるように、textAreaLogger_outputに変更することができます(コンストラクタでdebug = trueを設定することもあります)。

ここに行ってください。 Google IMAのプリロールとポストロール

関連する問題