iOS/Android 是不是可以知道用户何时触摸了广告?

Posted

技术标签:

【中文标题】iOS/Android 是不是可以知道用户何时触摸了广告?【英文标题】:iOS/Android Is it possible to know when user touched an AD?iOS/Android 是否可以知道用户何时触摸了广告? 【发布时间】:2012-12-08 20:39:30 【问题描述】:

有人要求我在我正在开发的应用程序上添加分析内容,我需要跟踪的事件之一是:用户在应用程序的哪个屏幕上触摸了广告

这对我来说似乎很奇怪,我认为不可能以可靠的方式做到这一点。我尝试在网上查找,但没有成功。

我们正在使用多个广告网络,所以我想添加一些事件来跟踪用户何时离开应用程序(广告通常会这样做)。

有谁知道更好的方法来做到这一点,或者是否有可能通过任何广告网络做到这一点?

谢谢。

【问题讨论】:

【参考方案1】:

我会代表 ios,但我确信在 android 中也是可能的。在IOS上,检查广告框架是否有任何委托方法,任何流行的都应该。如果您自己滚动,只需将自己的委托方法添加到框架中。例如,iAds 有以下委托方法:

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave

当用户点击广告时调用此方法。我假设您知道如何跟踪应用程序所在的视图,使用 viewDidAppear 并将当前最后加载的页面保存在某处以供以后访问。然后,您可以在上述委托方法或您使用委托方法的任何框架内将该页面名称提交给您的分析。

【讨论】:

我接受了你的回答,因为它至少告诉我要寻找什么。谢谢【参考方案2】:

为什么不让每个不同的视图显示在不同的网站上,即给每个视图中的广告一个不同的 ID。如果您有多个应用程序/或很多视图,设置它会有点痛苦,但我认为它应该可以工作。

【讨论】:

这其实是个不错的主意。【参考方案3】:

当应用程序进入后台时,在广告点击事件之后[设置一个全局布尔值当点击广告时]

在应用程序进入后台时调用的方法内部:

如果(设置了全局布尔值)

获取当前activity/view controller名称 存储在shared preferences/a file

当应用恢复时,重置全局布尔值。

【讨论】:

这将记录好像用户点击了广告,即使用户刚刚退出应用程序并且分析使用的不是一个好主意是查看哪个页面正在接收广告点击,而不是用户退出应用程序的页面。 这可以工作,但我的主要问题是我不知道如何将全局变量设置为 true。我的意思是,广告框架是否会告诉我它何时激活?【参考方案4】:

如果你从另一个角度来看,这很简单。制作 2 个不同的广告,每个广告都在不同的屏幕上。然后看看每一个的分析。你能告诉我你在用什么,C#还是flash?在 Flash 中,有一个函数会在用户离开应用程序时执行。

闪光:

NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE , handleDeactivate, false, 0, true);

 function handleDeactivate(event:Event):void 
     //the app is now losing focus
 

 NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true);

 function handleActivate(event:Event):void 
    //app is starting
 

还有另一种我记得但当时没有来找我的方式。

【讨论】:

以上是关于iOS/Android 是不是可以知道用户何时触摸了广告?的主要内容,如果未能解决你的问题,请参考以下文章

触控设备(iOS、Android)

检测何时触摸另一个视图 - 在本机反应中使用 PanResponder 拖动

通过Swift中的触摸检测应用程序何时处于活动状态或非活动状态[重复]

iOS 接触开始

本地通知触发时检测

iOS 上 MonoTouch 中的多点触控