在 Android 中关闭奖励视频广告
Close reward video ad in Android
我正在设计一个应用程序,在给玩家另一种生活之前包含一个奖励视频。对于用户体验和参与度,我想确保此奖励视频在 30 秒后关闭,并将用户带回应用。我们正在为 4 个最大的视频网络(Chartboost、Vungle、App Lovin 和 Ad Colony)使用客户端中介解决方案。
许多广告网络都提供这种关闭功能,例如 MoPub 的 MoPubView.destroy()
。但是,并非所有网络都提供程序化方法来关闭其广告。
我遇到的所有广告网络都会扩展 View
class 来展示他们的广告。这意味着广告本身必须在应用的 View
堆栈中。
有没有一种方法可以循环 Views
并关闭与广告匹配的广告?看来这应该是可以的,因为MoPub的SDK使用了下面的代码:
public void destroy() {
unregisterScreenStateBroadcastReceiver();
removeAllViews();
....
}
而removeAllViews()
是一个ViewGroup
方法,由:
组成
public void removeAllViews() {
removeAllViewsInLayout();
requestLayout();
invalidate(true);
}
我很难将这个 ViewGroup
代码与 View
迭代器结合起来,就像在 Enumerate/Iterate all Views in Activity? 中一样。有什么想法吗?
如果广告视图是由您的应用生成的,为什么不保留对生成视图的引用并在 30 秒后关闭该视图?或者,如果他们提供 XML 配置,请给 XML 视图一个 ID 并执行 findViewById(...) 并关闭该视图。
我正在设计一个应用程序,在给玩家另一种生活之前包含一个奖励视频。对于用户体验和参与度,我想确保此奖励视频在 30 秒后关闭,并将用户带回应用。我们正在为 4 个最大的视频网络(Chartboost、Vungle、App Lovin 和 Ad Colony)使用客户端中介解决方案。
许多广告网络都提供这种关闭功能,例如 MoPub 的 MoPubView.destroy()
。但是,并非所有网络都提供程序化方法来关闭其广告。
我遇到的所有广告网络都会扩展 View
class 来展示他们的广告。这意味着广告本身必须在应用的 View
堆栈中。
有没有一种方法可以循环 Views
并关闭与广告匹配的广告?看来这应该是可以的,因为MoPub的SDK使用了下面的代码:
public void destroy() {
unregisterScreenStateBroadcastReceiver();
removeAllViews();
....
}
而removeAllViews()
是一个ViewGroup
方法,由:
public void removeAllViews() {
removeAllViewsInLayout();
requestLayout();
invalidate(true);
}
我很难将这个 ViewGroup
代码与 View
迭代器结合起来,就像在 Enumerate/Iterate all Views in Activity? 中一样。有什么想法吗?
如果广告视图是由您的应用生成的,为什么不保留对生成视图的引用并在 30 秒后关闭该视图?或者,如果他们提供 XML 配置,请给 XML 视图一个 ID 并执行 findViewById(...) 并关闭该视图。