我正在尝试在我的广告素材中使用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)中使用。
请帮忙!客户的广告有可能被延误。
答案 0 :(得分:1)
正在阅读关于安全框架和你一样,我发现这个$ sf变量未定义。但这些是我能够找到解决方案的方式。
数据-是-的SafeFrame ="真" 强>
现在转到开发人员工具控制台中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)