2

mraid 準拠の広告を作成しようとしていますが、あまりうまくいきません。このリンクにある公式ドキュメントによると、単純な

<script src='mraid.js'></script>

十分なはずです。しかし、そうではないようです。mraid オブジェクトの存在をテストするために次のサンプル コードをコピーしましたが、未定義のままです。正確な FireBug エラーは次のとおりです。

ReferenceError: mraid が定義されていません

次の(非常に単純な)コードを実行しようとしています:

if(mraid.getState() !='ready'){
console.log("MRAID NOT READY");}

誰もこの問題の経験がありますか?

4

1 に答える 1

6

はい、それほど単純ではなく、仕様も完全には明確ではありません。

mraid.js は、フライト元の広告プラットフォームにインジェクトされます。

次のようになります。

アプリ -> 広告 SDK -> MRAID 広告

Ad SDK は UIWebView をインスタンス化し、mraid.js を挿入して使用できるようにします。次に、上記のスクリプトタグがそれを見つけてロードし、他のすべてがそこから解決されます。

オプションは次のいずれかです。

  1. /testing に十分なスペックを持つ、テスト用の独自の mraid.js を作成します。
  2. 上記を実行するモバイル広告サーバー SDK を起動し、それに対してテストするだけです
  3. http://webtester.mraid.orgをチェックアウトすると、上記のいくつかを回避できます

2 が最も正確です。1 と 3 は遠くまで行きますが、実際の広告サーバーの SDK 処理機能を備えたアプリ内の本物に匹敵するものはありません。

于 2013-03-15T14:07:42.973 に答える