需要在 app 内接入网站广告,我的想法是用 webview 来打开带有广告 js 的静态页面,然后用户点击就跳转到对应广告内容页,这样可行么
|
1
😂😂😂第一次做这种东西,查了半天没找到相关的资料
|
|
clfFeb 24, 2020
2
不需要这么麻烦,你去了解一下 APP 广告联盟,有专门的不同类型的广告 SDK 文档的。
|
|
pkxutaoFeb 24, 2020
3
先说一下应用场景吧
|
|
PDXFeb 24, 2020 via iPhone
4
同问,如果是 flutter 该怎么接呢
|
|
lc7029Feb 25, 2020
5
google adsense,有 SDK
|
|
TimeRainFeb 25, 2020 via Android
6
admob
|
|
7
@lychs1998 我去查了你说的方式,那种只支持一部分广告平台,像 admob 中介适配器只支持一部分…
|
|
8
@PDX 我就是在用 flutter,因为某些原因无法使用 admob 这种已经集成好的 sdk,目前通过 webview_flutter 插件做的 cpm,但点击广告后跳转无法实现(广告在 iframe 内)
|
|
9
mark 一下,android 下的解决方案,需要修改 flutter_webview 的 android sdk
打开 webview_flutter 的缓存位置,找到 `.\android\src\main\java\io\flutter\plugins\webviewflutter\FlutterWebView.java` 在 FlutterWebView 的构造函数 FlutterWebView 的 ``` // Allow local storage. webView.getSettings().setDomStorageEnabled(true); webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); ``` 下方添加上允许加载打开多页面(因为我使用的广告代码中使用了`<a target="_blank">`) ``` // todo:fix _target="_blank" in iframe tag webView.getSettings().setSupportMultipleWindows(true);//代表支持多窗口打开 webView.setWebChromeClient(new WebChromeClient() { @Override public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) { WebView newWebView = new WebView(view.getContext()); newWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // 在此处进行跳转 URL 的处理, 一般情况下_black 需要重新打开一个页面, 这里我直接让当前的 webview 重新 load 了 url webView.loadUrl(url); /* 或使用默认浏览器打开 Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(browserIntent); */ return true; } }); WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj; transport.setWebView(newWebView); resultMsg.sendToTarget(); return true; } }); ``` 两处注释分别是直接在原 webview 页面 t 中跳转到广告或使用默认浏览器打开广告,各有利弊,使用时酌情选择,ios 端不会改。 |
|
10
为啥 markdown 不能用呢
|
|
spark40Feb 25, 2020
11
admob 了解一下?
|
|
12
@spark40 是因为 admob 用不了才自己做的
|
|
spark40Feb 25, 2020
13
@abellee000 日活很多了?需要商业化了?
|