【问题标题】:InMobiBanner is not initializedInMobiBanner 未初始化
【发布时间】:2018-09-10 17:25:05
【问题描述】:

我在集成 InMobi 横幅广告时遇到此错误。

InMobiBanner is not initialized. Ignoring InMobiBanner.load()

我正在使用 7.0.4 版的 InMobi Ads SDK。我已按照文档中的说明进行操作。

我该如何解决这个问题?请帮我解决这个问题。

【问题讨论】:

  • 我也有同样的问题
  • @EAKTEAM 请检查我的回答。它对我有用。
  • 感谢它有效,可能是 sdk 中的一个错误,这就是它现在在 XML 中有效的原因:)

标签: android inmobi


【解决方案1】:

终于,我得到了解决方案。不知何故,如果放置 id 在 XML 布局中给出,则 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 属性设置为true。检查下面给出的示例代码:

<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,以便我们可以在该视图中添加 InMobiBanner 视图。

<RelativeLayout
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:gravity="center" />

第 4 步:

现在在您的 Activity 或 Fragment 中添加以下 Java 代码来初始化和加载 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();

希望这会有所帮助。

【讨论】:

  • 我的应用程序使用的是古吉拉特语。我遵循了这个答案。我得到的是空白横幅。没有出现广告。
【解决方案2】:

您需要在 UI Thread 中创建 InMobiBanner 类实例,因为它不是线程安全的。

官方文档说——

注意事项:

  • InMobiBanner 类不是线程安全的。必须在 UI 线程上创建横幅实例。

  • 同样,此实例上的所有方法都必须在 UI 线程上调用。不这样做会导致不可预知的行为,并可能影响您通过 InMobi 获利的能力。

希望这能回答您的问题。谢谢

【讨论】:

    【解决方案3】:

    另外,你需要添加这行 android manifest 文件

     <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"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 2021-12-14
      • 2013-06-26
      • 2016-04-02
      • 2020-02-14
      • 1970-01-01
      相关资源
      最近更新 更多