我在集成 InMobi 横幅广告时遇到此错误。
InMobiBanner is not initialized. Ignoring InMobiBanner.load()
我使用的是 InMobi Ads SDK 7.0.4 版。我已按照文档中给出的说明进行操作。
我该如何解决这个问题?请帮我解决这个问题。
最佳答案
最后,我得到了解决方案。不知何故,如果在 XML 布局中给出展示位置 ID,InMobiBanner 将无法正常工作。因此,我们必须使用 Java 代码以编程方式初始化 InMobiBanner。
但在集成 InMobi SDK 之前,请先完成您的个人资料信息并添加您的付款信息。此外,在此之前不要创建任何展示位置。
第 1 步:
使用以下代码在您的应用程序文件中初始化 InMobiSdk:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
InMobiSdk.init(this, "Your Account ID");
InMobiSdk.setLogLevel(InMobiSdk.LogLevel.DEBUG);
}
}
第 2 步:
在您的Manifest文件中添加Application文件,同时将application
标签的hardwareAccelerated
属性设置为真
。检查下面给出的示例代码:
<application
android:name=".MyApplication"
android:hardwareAccelerated="true"
..
<activity
android:name="com.inmobi.rendering.InMobiAdActivity"
android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize|screenLayout"
android:resizeableActivity="false"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.NoTitleBar"
tools:ignore="UnusedAttribute" />
</application
第 3 步:
在您的布局中添加一个 ViewGroup,以便我们可以在该 View 中添加 InMobiBanner View 。
<RelativeLayout
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center" />
第 4 步:
现在将以下 Java 代码添加到您的 Activity 或 Fragment 中以初始化和加载 InMobiBanner 广告。
InMobiBanner bannerAd = new InMobiBanner(this, 1234567890L);
RelativeLayout adContainer = findViewById(R.id.banner);
float density = getResources().getDisplayMetrics().density;
RelativeLayout.LayoutParams bannerLp = new RelativeLayout.LayoutParams((int) (320 * density), (int) (50 * density));
adContainer.addView(bannerAd, bannerLp);
bannerAd.load();
希望这对您有所帮助。
关于android - InMobiBanner 未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49595274/