是否可以在 Flutter Web 应用程序中插入 google AdSense?
is it possible - to insert google AdSense at Flutter Web application?
我尝试在我的网站上插入下一个代码 (Google AdSense),但现在没有成功。代码是:
<script type="text/javascript">var nend_params={"media":00000,"site":000000,"spot":000000,"type":1,"oriented":1};0</script>
<script type="text/javascript" src="https://js1.nend.net/js/nendAdLoader.js"></script>
1.For 有一段时间我尝试了 'dart:js' 这样的句子
js.context.callMethod(..
但是,认为它不起作用,因为我们需要显示广告,而不仅仅是执行 javascript 代码..
2.next,我想它可以是一个WebView(一个webview,在webapp..)并尝试使用next:
依赖项:
webview_flutter:^0.3.14
但它是秋天
"Error: PlatformException(Unregistered factory, No factory registered for viewtype 'plugins.flutter.io/webview'"...
可能有人有积极的经验或可以给我任何建议。
如果您只需要在您的网页中使用这些脚本,您可以尝试将其直接包含在 web/Index.html
页面中。
否则您将不得不使用 ui.platformViewRegistry.registerViewFactory
,如此处所示 PlatFormView example。以下代码会将脚本元素添加到您的页面。
import 'package:flutter/material.dart';
import 'dart:ui' as ui;
import 'dart:html';
class MyHomePage extends StatelessWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
Widget build(BuildContext context) {
ui.platformViewRegistry.registerViewFactory("add_script", (int viewId) {
ScriptElement element = ScriptElement()
..src = "https://js1.nend.net/js/nendAdLoader.js"
..type = "text/javascript";
return element;
});
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Directionality(
textDirection: TextDirection.ltr,
child: SizedBox(
width: 640,
height: 360,
child: HtmlElementView(viewType: 'add_script'),
),
),
],
),
);
}
}
Note: This code needs a hosting widget like a scaffold inside a MaterialApp or something similar. For the code inside the script try creating a similar widget with different viewtype string and use the setInnerHtml
or similar methods.
但您应该知道,此元素是作为影子 dom 元素添加到您的页面中的。这个issue讨论这个。
我尝试在我的网站上插入下一个代码 (Google AdSense),但现在没有成功。代码是:
<script type="text/javascript">var nend_params={"media":00000,"site":000000,"spot":000000,"type":1,"oriented":1};0</script>
<script type="text/javascript" src="https://js1.nend.net/js/nendAdLoader.js"></script>
1.For 有一段时间我尝试了 'dart:js' 这样的句子
js.context.callMethod(..
但是,认为它不起作用,因为我们需要显示广告,而不仅仅是执行 javascript 代码..
2.next,我想它可以是一个WebView(一个webview,在webapp..)并尝试使用next:
依赖项: webview_flutter:^0.3.14 但它是秋天
"Error: PlatformException(Unregistered factory, No factory registered for viewtype 'plugins.flutter.io/webview'"...
可能有人有积极的经验或可以给我任何建议。
如果您只需要在您的网页中使用这些脚本,您可以尝试将其直接包含在 web/Index.html
页面中。
否则您将不得不使用 ui.platformViewRegistry.registerViewFactory
,如此处所示 PlatFormView example。以下代码会将脚本元素添加到您的页面。
import 'package:flutter/material.dart';
import 'dart:ui' as ui;
import 'dart:html';
class MyHomePage extends StatelessWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
Widget build(BuildContext context) {
ui.platformViewRegistry.registerViewFactory("add_script", (int viewId) {
ScriptElement element = ScriptElement()
..src = "https://js1.nend.net/js/nendAdLoader.js"
..type = "text/javascript";
return element;
});
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Directionality(
textDirection: TextDirection.ltr,
child: SizedBox(
width: 640,
height: 360,
child: HtmlElementView(viewType: 'add_script'),
),
),
],
),
);
}
}
Note: This code needs a hosting widget like a scaffold inside a MaterialApp or something similar. For the code inside the script try creating a similar widget with different viewtype string and use the
setInnerHtml
or similar methods.
但您应该知道,此元素是作为影子 dom 元素添加到您的页面中的。这个issue讨论这个。