android - Android IMA SDK“了解更多”自定义点击监听
问题描述
在 Android 应用程序中播放视频广告时点击“了解更多”文本链接,在 AdEvent.AdEventListener.onAdEvent(AdEvent adEvent) 方法中检索并传递相应的 ClickThroughUrl 之前会出现默认的“打开方式”对话框以及自定义 Chrome 标签。
因此,关闭自定义 Chrome 选项卡后,对话框仍然存在。
有没有办法自定义“了解更多”文本链接,以便点击事件直接进入 AdEventListener 而不是自己处理,从而显示“打开方式”对话框。
换句话说,当我在播放视频广告时单击视频播放 Android 应用程序中的“了解更多”文本链接时,我不想要“打开方式”对话框。任何如何实现这一目标的指针将不胜感激。
解决方案
好吧,理论上你可以通过反射提取 URL
try {
Method method = ad.getClass().getDeclaredMethod("getClickThruUrl");
Url clickUrl = (String) method.invoke(ad);
} catch (Exception e) {
// Log or whatever
}
然后自己打开一个预先选择的浏览器,也许是通过一个知道你想到的包名称的 Intent?
但是,是的......这是两个非常老套的东西,而且它们都可能在未来被破坏,当方法名称改变时,包来来去去,用户有新的浏览器等等。所以你必须考虑对这个
推荐阅读
- c# - 在 LINQ 查询中通过字符串动态输入“选择”
- html - 使用按钮重定向
- python - 如何在python中声明列表理解的类型
- monitoring - InfluxDB V2 OSS 警报:在通知消息中捕获度量值
- python - 使用 pyo3 crate 时如何在 Rust 程序中捕获 Python 解释器的标准输出
- amazon-web-services - 在 Lambda 代码中使用 boto3 调用 getMetricsData cloudwatch API 返回访问被拒绝错误
- java - 如何在 JAVA 代码中的 URL 中写入特殊字符
- linux - 使用 remmina 在 RDP 上的键盘映射出错
- javascript - 如何在 js 映射函数(Node Js)中停止异步调用
- flutter - 如何在 Flutter 中创建底部表格,如(Instagram、snapchat)