Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova Android应用程序中的谷歌出版商标签广告_Android_Cordova_Google Dfp - Fatal编程技术网

Cordova Android应用程序中的谷歌出版商标签广告

Cordova Android应用程序中的谷歌出版商标签广告,android,cordova,google-dfp,Android,Cordova,Google Dfp,我正在Cordova 2.2.0框架内开发一款Android应用程序,在基于GPT的广告上点击时遇到了很多问题(当然我不是第一个尝试这一点的人) GPT通过广告创意呈现友好的iFrame,基本上包含 在浏览器和iOS上,点击广告将在一个新的浏览器窗口中打开点击窗口,这就是我想在这里实现的。但在Kindle Fire HD和Droid 4的本机应用程序上,点击广告会打开IFRAME空间中的ClickTour页面,因此您可以在我的另一个页面中看到页面左上角的320x50 我尝试过编辑白名单,但这不是

我正在Cordova 2.2.0框架内开发一款Android应用程序,在基于GPT的广告上点击时遇到了很多问题(当然我不是第一个尝试这一点的人)

GPT通过广告创意呈现友好的iFrame,基本上包含

在浏览器和iOS上,点击广告将在一个新的浏览器窗口中打开点击窗口,这就是我想在这里实现的。但在Kindle Fire HD和Droid 4的本机应用程序上,点击广告会打开IFRAME空间中的ClickTour页面,因此您可以在我的另一个页面中看到页面左上角的320x50

我尝试过编辑白名单,但这不是一个选项,因为创意可以来自任何地方(我们使用多个广告网络来填充我们的剩余广告),并且因为广告呈现在我无法控制的IFRAME中,我无法将HREF包装在
javascript:window.open()
,我还没有找到让Android Java代码拦截这些点击的方法

我也调查过AdMob,但我的老板不想改变我们手机网站的广告体验,因为手机网站上有一到三个随页面滚动的广告

编辑能够在广告所在的页面上呈现AdMob视图,以便视图与网站一起滚动,这将起作用

我该怎么做才能在新窗口中打开这些点击


感谢您的帮助。

我将此JavaScript代码添加到加载或刷新广告的函数中:

$('.advertisement iframe').each(function() {
    $(this).one('load', function() {
        makeOpenWindowHref(this);
    });
});
具有以下功能:

function makeOpenWindowHref(element) {
    if (isNativeApp){
        $(element).contents().find('a[href^="http"]').each(function() {
            $(this).click(function(event){
                event.preventDefault();
                navigator.app.loadUrl($(this).attr("href"), {
                    openExternal:true
                });
            });
        });
    }
}

这实质上修改了IFRAME内容,使用Cordova
navigator.app.loadUrl()
函数使点击打开到一个新窗口。

Aha!这个答案表明我可以通过编程覆盖URL--。我会测试,如果有效,我会回答我自己的问题。是的。我找到了我的答案,明天我会发布它(因为我还不能回答我自己的问题)。