如何使用 Google Mobile Ads SDK 20.5.0 展示原生广告?
Posted
技术标签:
【中文标题】如何使用 Google Mobile Ads SDK 20.5.0 展示原生广告?【英文标题】:How to show native ads with Google Mobile Ads SDK 20.5.0? 【发布时间】:2022-01-11 03:34:48 【问题描述】:我正在尝试在我的项目中展示原生测试广告 (play-services-ads:20.5.0)。我尝试过这种方式并使用相同的错误代码得到不同的错误。无法确定是服务器问题还是我的实现无法满足 SDK 的要求。我等了 2 个多小时(SpinUp Time),但它不起作用。
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(getApplicationContext());
Log.d("him", "SDK initialized");
AdLoader adLoader = new AdLoader.Builder(getApplicationContext(), "ca-app-pub-3940256099942544/2247696110")
.forNativeAd(new NativeAd.OnNativeAdLoadedListener()
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd)
Log.d("him", "NativeAdLoaded");
NativeTemplateStyle styles = new
NativeTemplateStyle.Builder().build();
TemplateView template = findViewById(R.id.my_template);
template.setStyles(styles);
template.setNativeAd(nativeAd);
) .withAdListener(new AdListener()
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError)
// Handle the failure by logging, altering the UI, and so on.
Log.d("him", "AdFailedToLoad error is: \n" + adError);
)
.build();
adLoader.loadAd(new AdRequest.Builder().build());
我收到两种类型的错误,一种来自物理设备:
"Code": 0,
"Message": "Unable to obtain a javascriptEngine.",
"Domain": "com.google.android.gms.ads",
"Cause": "null",
"Response Info":
"Response ID": "null",
另一个来自模拟器,是这样的:
"Code": 0,
"Message": "Internal error.",
"Domain": "com.google.android.gms.ads",
"Cause": "null",
"Response Info":
"Response ID": "hu2sYZCLOJO39QP7qIvoBw",
"Mediation Adapter Class Name": "",
"Adapter Responses": [
"Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
"Latency": 29,
"Credentials": ,
"Ad Error":
"Code": 0,
"Message": "Internal error.",
"Domain": "com.google.android.gms.ads",
"Cause": "null"
我在使用模拟器时遇到了另一个问题:
Exception thrown while unbinding
java.lang.IllegalArgumentException: Service not registered: lu@bc13fba
提前致谢
【问题讨论】:
【参考方案1】:请检查您是否在该设备上安装了 adblock。
请也试试这个 TEMP 解决方案“它可能会有所帮助”:-
在build.gradle
应用级别,将应用ID更改为:
applicationId "com.google.example.gms.nativeadvancedexample"
让我们知道结果。
【讨论】:
【参考方案2】:我尝试了另一台设备来测试代码,它运行良好。
【讨论】:
请将这些添加为 cmets。这不是问题的解决方案。以上是关于如何使用 Google Mobile Ads SDK 20.5.0 展示原生广告?的主要内容,如果未能解决你的问题,请参考以下文章
使用 google_mobile_ads 加载横幅时 Flutter App 崩溃
为啥 google_mobile_ads 和 flutter_native_admob 给出错误
Flutter google_mobile_ads 未显示广告 ID
Flutter google mobile ads 仅在 IOS 上显示测试广告
在 google_mobile_ads 包中的何处放置测试设备 ID?
iOS - pod 'Google-Mobile-Ads-SDK' 和 pod 'Firebase/AdMob' 有啥区别