我正在尝试使用Greystrip在AndEngine中展示广告。
我无法弄清楚如何完成此操作,因为它不使用布局来填充视图,而是使用精灵。
我使用BaseGameActivity为每个场景创建应用程序以显示广告。
在GreyStrip中,这是他们告诉您如何将广告集成到应用程序中的方式:
在将调用添加到GSSDK的应用程序之前,您需要将SDK合并到AndroidManifest.xml中。在中添加以下内容,将替换为唯一标识您的应用程序的软件包标识符。此内容提供程序管理广告内容的本地存储,而活动则管理广告显示。
要初始化Greystripe SDK,请在启动时调用initialize方法。这应该在您的应用程序的onCreate()方法中完成。此调用将生成一个后台线程来初始化我们的活动,然后将控制返回到您的应用程序。在此后台中,Greystripe活动将下载广告以及任何SDK更新。参数:ctx:您的应用程序上下文实例appId:使用应用程序注册期间提供的appId。提供无效的appId将导致SDK显示错误通知广告。
要使用横幅,请将以下内容放置在您的main.xml文件中:
要在代码中引用横幅视图,请使用findViewById,就像引用任何main.xml元素一样:
我无法弄清楚如何完成此操作,因为它不使用布局来填充视图,而是使用精灵。
我使用BaseGameActivity为每个场景创建应用程序以显示广告。
在GreyStrip中,这是他们告诉您如何将广告集成到应用程序中的方式:
在将调用添加到GSSDK的应用程序之前,您需要将SDK合并到AndroidManifest.xml中。在
<provider android:name="com.greystripe.android.sdk.AdContentProvider"
android:authorities="<YOUR_APPLICATION_PACKAGE>.AdContentProvider"
android:multiprocess="true"
android:exported="false" />
<activity android:name="com.greystripe.android.sdk.AdView"
android:configChanges="keyboard|keyboardHidden|orientation" >
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
要初始化Greystripe SDK,请在启动时调用initialize方法。这应该在您的应用程序的onCreate()方法中完成。此调用将生成一个后台线程来初始化我们的活动,然后将控制返回到您的应用程序。在此后台中,Greystripe活动将下载广告以及任何SDK更新。参数:ctx:您的应用程序上下文实例appId:使用应用程序注册期间提供的appId。提供无效的appId将导致SDK显示错误通知广告。
public static GSSDK initialize(Context ctx, String appId)
要使用横幅,请将以下内容放置在您的main.xml文件中:
<view class="com.greystripe.android.sdk.BannerView"
android:id="@+id/gsBanner"
android:layout_width="320dp"
android:layout_height="48dp"/>
要在代码中引用横幅视图,请使用findViewById,就像引用任何main.xml元素一样:
BannerView myBanner = (BannerView) findViewById(R.id.gsBanner);
如需添加,请致电
myBanner.refresh();
现在的问题是,由于我没有XML布局,我无法弄清楚如何为广告视图填充布局?
有人有什么想法吗?
编辑:
我在网上的教程中看到有人这样做,但我该如何在AndEngine中填充它?
try {
String applicationId = Utils.scrapeIgnoreCase(externalParams, "<param name=\"id\">", "</param>");
GSSDK.initialize(context, applicationId);
BannerView myBanner = new BannerView(context);
myBanner.setLayoutParams(view.getLayoutParams());
myBanner.addListener(new GreyStripeBannerListener());
view.addView(myBanner);
myBanner.refresh();
myBanner.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Click();
}
});