我正在设计一款应用程序,其中包含奖励视频,然后让玩家再次生活。对于用户体验和参与度,我希望确保此奖励视频在30秒后关闭,并且用户将被带回应用程序。我们正在为4个最大的视频网络(Chartboost,Vungle,App Lovin和Ad Colony)使用客户端中介解决方案。
许多广告网络提供了这种近距离功能,例如MoPub MoPubView.destroy()
。但是,并非所有网络都提供关闭广告的程序化方法。
我遇到的所有广告网络都会延伸View
课程来展示他们的广告。这意味着广告本身必须位于应用的View
堆栈中。
有没有办法循环浏览Views
并关闭与广告匹配的广告?这似乎应该是可能的,因为MoPub的SDK使用以下代码:
public void destroy() {
unregisterScreenStateBroadcastReceiver();
removeAllViews();
....
}
removeAllViews()
是ViewGroup
方法,由以下内容组成:
public void removeAllViews() {
removeAllViewsInLayout();
requestLayout();
invalidate(true);
}
我很难将这个ViewGroup
代码与Enumerate/Iterate all Views in Activity?中的View
迭代器结合起来。有什么想法吗?
答案 0 :(得分:1)
如果广告视图是由您的应用生成的,为什么不保留对衍生视图的引用并在30秒后关闭该视图?或者,如果他们提供XML配置,请为XML视图提供一个ID并执行findViewById(...)并关闭该视图。