Safeframe API,$ sf未在广告素材中定义

时间:2016-12-01 15:49:50

标签: google-dfp

我正在尝试在我的广告素材中使用Safeframe外部参与方API,但我在控制台中收到“$ sf not defined”。似乎安全框外部方api在创意中不可用,尽管这里说的是: https://support.google.com/dfp_premium/answer/6023110?hl=en

如果不是这样,为什么Google会在其帮助文档中包含此声明?我可能错过了一个步骤,但我的广告素材可以在广告预览工具(http://publisherconsole.appspot.com/safeframe/creative-preview.html)中使用。

请帮忙!客户的广告有可能被延误。

3 个答案:

答案 0 :(得分:1)

正在阅读关于安全框架和你一样,我发现这个$ sf变量未定义。但这些是我能够找到解决方案的方式。

  1. 转到发布商已实施安全框架的任何网站。我试过这个网站https://www.w3schools.com/html/default.asp现在将鼠标悬停在添加并检查并查看iframe,您会在iframe标记中看到此属性
  2. 数据-是-的SafeFrame ="真"

    enter image description here

    现在转到开发人员工具控制台中iframe的上下文。在Chrome中,如果您检查该广告,则会自动转到控制台中的iframe上下文。

    进入iframe的控制台后,点击此命令

    <强> window.sf_.cfg.initialGeometry;

    这将为您提供安全框架文档中提到的一些属性。 https://sourceforge.net/p/safeframes/wiki/How-To/

    {
        "windowCoords_t": 24,
        "windowCoords_r": 1236,
        "windowCoords_b": 720,
        "windowCoords_l": 65,
        "frameCoords_t": 128,
        "frameCoords_r": 964,
        "frameCoords_b": 218,
        "frameCoords_l": 236,
        "styleZIndex": "auto",
        "allowedExpansion_t": 0,
        "allowedExpansion_r": 128,
        "allowedExpansion_b": 0,
        "allowedExpansion_l": 0,
        "xInView": 1,
        "yInView": 1
    }
    

    您可以按左,右,上和下看到框架坐标。 xInView和yInView以十进制值给出,乘以100得到百分比。

    感谢。这就是我能够达到这个目的的全部内容。我想他们会在以后提供更多信息。

    上述解决方案适用于Internet Explorer和Chrome / Chromium。

    在firefox中,iframe上下文中定义了一个变量$ sf。您只需要进入iframe上下文并开始从窗口获取信息。$ sf

答案 1 :(得分:0)

派对有点晚,但DFP SafeFrame API效果很好。问题很糟糕,难以实施。

你还没有共享任何代码,所以我不能告诉你你做错了什么。

这是一个可能对你有用的例子。

它使用SafeFrame API检测屏幕,以便您可以开始动画:

<script type="text/javascript">
var sfAPI = window.sfAPI || $sf.ext; 

window.onload = function () {
    var inscreen = false;

    var refreshIntervalId = setInterval(function() {
        if(sfAPI.inViewPercentage() == 100) {
            // Start animation if inscreen
        }
    }, 500);
};
</script>

Here是DFP中可用的SafeFrame API函数的文档。

答案 2 :(得分:0)

似乎在html5广告素材中无法使用Safeframe API。 ext.js已加载到父框架中,无法从跨源广告素材框架中访问。

screenshot