我们使用Google Mobile Ads SDK在iOS和Android应用程序中显示一些广告。当用户点击广告并使用 GADAppEventDelegate 获取它们时,我们需要一些参数来进行网络服务调用,在网络服务调用之后,我们会显示一个自定义屏幕。(所以我们不想将用户重定向到网页)。问题是点击次数未被跟踪,我们认为广告创意可能配置不正确。
<html><body leftMargin="0" topMargin="0" marginwidth="0" marginheight="0">
<html>
<head>
<script src="http://media.admob.com/api/v1/google_mobile_app_ads.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
function fireEvent() {
admob.events.dispatchAppEvent("query_string", "ad_origin_key=USPS2013_iPhone_Upgraded_320x50&k_key=&acid_key=719768856&ad_image_url_key=http://USPS2013_iphone_320x50");
}
</script>
</head>
<body>
<img src="http://pagead2.googlesyndication.com/pagead/imgad?id=CICAgIDQ59KwChABGAEyCKGNWPM-wPBl" width="320" height="50" border="0" onclick="fireEvent()"/>
</body>
</html></body></html>
我相信为了不被重定向到网页,我们应该在fireEvent()函数中发出AJAX请求,类似于$.get("%%CLICK_URL_UNESC%%www.example.com/ads/landingpage");
但浏览器不允许AJAX请求到与原始请求服务器不同的服务器。
那么我们如何解决这个问题,跟踪点击而不导航到新网页呢?
谢谢
您好,我认为这个答案有点晚了,但是您引用的代码实际上有效!!
在广告素材的 HTML 的头标签内
<script src="http://media.admob.com/api/v1/google_mobile_app_ads.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
// Send an event when ad loads.
// admob.events.dispatchAppEvent("adId", "1");
// handle your click with onClick="handleClick()"
handleClick = function() {
admob.log("click ad: call handleClick()"); // call a log to XCode console for debug
// Send an event when ad is clicked.
admob.events.dispatchAppEvent("eventName", "params"); //{action}|{action params}...
//magic goes here
//i think the click measure through this url
//and use jQuery get that send get method without callbacks
$.get("%%CLICK_URL_UNESC%%")
};
</script>
您必须等待一段时间(例如 30 分钟),然后您将在 DFP 控制台中看到点击统计信息。