问题描述
我正在尝试在Xamarin.Forms应用(目前为Android版本)中实施AdMob。到目前为止,这是我所做的:
public class AdControlView : Xamarin.Forms.View
{
}
xmlns:ads="clr-namespace:MyFeelingBuddyTwo.Views"
<ads:AdControlView BackgroundColor="Red"/>
- 在Android项目(AndroidManifest.xml)中:
<Meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-myappid"/>
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
[assembly: ExportRenderer(typeof(MyFeelingBuddyTwo.Views.AdControlView),typeof(AdVieWrenderer))]
namespace MyFeelingBuddyTwo.Droid
{
class AdVieWrenderer : VieWrenderer<Views.AdControlView,AdView>
{
string adUnitId = "myadunitid";
AdSize adSize = AdSize.SmartBanner;
AdView adView;
AdView CreateAdView()
{
if (adView != null)
return adView;
adView = new AdView(Forms.Context);
adView.AdSize = adSize;
adView.AdUnitId = adUnitId;
var arParams = new LinearLayout.LayoutParams(LayoutParams.WrapContent,LayoutParams.WrapContent);
adView.LayoutParameters = arParams;
adView.LoadAd(new AdRequest.Builder().Build());
return adView;
}
protected override void OnElementChanged(ElementChangedEventArgs<AdControlView> e)
{
base.OnElementChanged(e);
if(Control == null)
{
CreateAdView();
SetNativeControl(adView);
}
}
}
}
- 在MainActivity中,在加载应用程序之前初始化MobileAds:
MobileAds.Initialize(ApplicationContext,"ca-app-pub-appid");
我跑步时得到红色背景,但没有加载任何广告。有什么想法吗?
解决方法
在AdControlView类中,我添加了:
FLASK_PORT
现在,我可以在横幅占位符中看到“测试广告”。