![]() | 1 abellee000 OP 第一次做这种东西,查了半天没找到相关的资料 |
![]() | 2 clf 2020-02-24 20:47:25 +08:00 不需要这么麻烦,你去了解一下 APP 广告联盟,有专门的不同类型的广告 SDK 文档的。 |
![]() | 3 pkxutao PRO 先说一下应用场景吧 |
![]() | 4 PDX 2020-02-24 22:48:51 +08:00 via iPhone 同问,如果是 flutter 该怎么接呢 |
5 lc7029 2020-02-25 00:05:53 +08:00 google adsense,有 SDK |
6 TimeRain 2020-02-25 08:36:26 +08:00 via Android admob |
![]() | 7 abellee000 OP @lychs1998 我去查了你说的方式,那只支持一部分广告平台,像 admob 中介适配器只支持一部分… |
![]() | 8 abellee000 OP @PDX 我就是在用 flutter,因为某些原因无法使用 admob 这种已经集成好的 sdk,目前通过 webview_flutter 插件做的 cpm,但点击广告后跳转无法实现(广告在 iframe 内) |
![]() | 9 abellee000 OP 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 abellee000 OP 为啥 markdown 不能用呢 |
![]() | 11 spark40 2020-02-25 13:13:28 +08:00 admob 了解一下? |
![]() | 12 abellee000 OP @spark40 是因为 admob 用不了才自己做的 |
![]() | 13 spark40 2020-02-25 17:43:25 +08:00 @abellee000 日活很多了?需要商业化了? |