我有一个在 android 上运行的 javafx 应用程序,并且想在某些屏幕上放置 google adwords。我遇到的问题是,adwords 使用 googles AdView 来显示添加,这是一个 Android 表示对象,并且与 JavaFX 表示层不兼容。
创建 AdView 的示例代码
import com.google.android.gms.ads.MobileAds;
import javafxports.android.FXActivity;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
/**
* Constructor creates AdView
* Call getAdView() to retrieve AdView object.
*/
public class GoogleAds {
private AdView adView = null;
public GoogleAds() {
AdView mAdView = createAddView();
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) // All emulators
.build();
mAdView.loadAd(adRequest);
}
...
现在我有一个准备好展示的 com.google.android.gms.ads.AdView 对象
我可以使用将它添加到 android 视图层次结构中
private void includeGoogleAdView(LinearLayout layout) {
AdView adView = GoogleAds().getAdView();
layout.addView(mAdView);
}
当作为 android 应用程序运行时,所有这些都按预期工作。
所以问题是“我可以让 AdView 在 javafx 表示层中显示吗?” .
有没有办法让 com.google.android.gms.ads.AdView 成为 javafx.scene.Node 的一个实例,然后我可以使用类似的东西添加它
private Node addToPane(AdView adView) {
javafx.scene.layout.Pane pane = new javafx.scene.layout.Pane();
pane.getChildren().addAll( canvas, adView);
return pane;
}
还是有其他解决方案?