0

我们正在使用Google Mobile Ads SDK在我们的 iOS 和 Android 应用程序中展示一些广告。当用户点击广告并使用 GADAppEventDelegate 获取它们时,我们需要一些参数来进行 Web 服务调用,并且在 Web 服务调用之后我们会呈现一个自定义屏幕。(所以我们不想将用户重定向到网页)。问题是没有跟踪点击,我们认为广告创意可能配置不正确。

<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 请求到与原始请求服务器不同的服务器。

那么我们如何解决这个问题,跟踪点击而不导航到新网页呢?

谢谢

4

1 回答 1

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>
    // 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 控制台中看到点击统计信息。

于 2014-07-08T09:28:50.250 回答