0

「google-ad」という名前のDIVがあるかどうかを確認するこのJavacsriptコードがあり、ある場合は、Google広告を表示するために必要なコードを書き込みます。

これは、Firefox、Chrome、Mac上のSafari、Androidなどのブラウザでうまく機能します。

ただし、このコードをAdobeのPhonegap Buildにバンドルして、iPhoneにデプロイすると、奇妙な動作をします。Google広告のみを表示するブラウザウィンドウを起動します。アプリを使い続けるには、ページを変更して新しいGoogle広告が読み込まれるたびに、ブラウザウィンドウを閉じてアプリに戻る必要があります。

このコードがiPhoneのPhonegapアプリの外部でブラウザウィンドウを起動するのはなぜですか?

if(document.getElementById("google-ad")
    && document.getElementById("google-ad") !== null
    && document.getElementById("google-ad") !== "undefined")
    {

    if(userStatus.status == 0)
    {
        document.getElementById("centre").style.padding = "137px 0 12px 0";
        document.getElementById("header-container").style.margin = "-138px 0 0 0";
        document.getElementById("header-container").style.height = "132px";
        document.getElementById("header-username").style.top = "52px";

        document.getElementById("google-ad").style.height = "50px";
        document.getElementById("google-ad").style.width = "320px";
        document.getElementById("google-ad").style.backgroundColor = "#f0ebff";
        document.getElementById("google-ad").style.display = "block";

        window["google_ad_client"] = 'ca-pub-0000000000000000';
        window["google_ad_slot"]  = "00000000";
        window["google_ad_width"]  = 320;
        window["google_ad_height"]  = 50;

        window.adcontainer = document.getElementById('google-ad');
        window.adhtml = '';

        function mywrite(html)
        {
            adhtml += html;
            adcontainer.innerHTML = adhtml;
        };

        document.write_ = document.write;
        document.write = mywrite;

        script = document.createElement('script');
        script.src='http://pagead2.googlesyndication.com/pagead/show_ads.js';
        script.type='text/javascript';
        document.body.appendChild(script);
    }
4

1 に答える 1

1

あなたが直面している問題は、グーグルアドセンスがiframeを使用しているためです。show_ads.jsを参照してください。

e=["<iframe"],d;for(d in a)a.hasOwnProperty(d)&&ka(e,d+"="+a[d]);e.push('style="left:0;position:absolute;top:0;"')

それがphonegap(通常はwebview)で発生すると、新しいページが開いて表示されます。向きを変える方法はいくつかありますが、私が提案できる最善の方法は、moileにgoogle offical adsense sdkを使用することです:

https://developers.google.com/mobile-ads-sdk/docs/

ネイティブですが、簡単なプラグインを使用してHTMLアプリに簡単に接続できます(必要に応じてサポートできます)

あなたが今やろうとしていることは、あなたのアプリがアップルによって拒否される原因になると思うので、グーグル公式SDKを使用してください。

于 2012-09-30T20:57:22.407 に答える