首页 > 解决方案 > 用 admob ane 看不到广告

问题描述

我关注了 https://github.com/lilili87222/admob-for-flash

我仍然无法看到带有 admob ane 的广告。

步骤

1.初始化Admob ANE

将 Admob ane 添加到 air 项目构建路径中,并在脚本文件中添加以下代码

import so.cuo.platform.admob.*;
Admob.getInstance().initAdmobSDK("your admob app ID");

2.在adobe Air App中添加Admob Banner

这是显示 admob 横幅所需的最少代码。

Admob.getInstance().showBanner("your banner ID ",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER);

AdmobPosition 类指定放置横幅的位置。AdmobSize 指定要显示的横幅尺寸

3.删除横幅默认情况下,横幅是可见的。要隐藏横幅,

Admob.getInstance().hideBanner();

4.Admob ANE 显示插页式广告

这是将插页式广告集成到 Air ios 应用程序或 flex android 应用程序的最少代码。

Admob.getInstance().cacheInterstitial("your Interstitial ID ");

在显示之前检查插页式广告是否已加载:

if (Admob.getInstance().isInterstitialReady()) {
  Admob.getInstance().showInterstitial();
}

5.自定义 Admob 横幅广告尺寸

除了 AdSize 上的常量外,您还可以创建自定义尺寸:

//Create a 320x250 banner.
AdSize adSize = new AdSize(320, 250);
Admob.getInstance().showBannerAbsolute(adSize,0,30);

6.设置Admob目标参数

如果您希望广告针对儿童:

  extraParam=new ExtraParameter();
extraParam.testDeviceID="true";
extraParam.isChildApp=true;//if is tagForChildDirectedTreatment,set true
    extraParam.isDesignedForFamilies=true;
    extraParam.nonPersonalizedAds=true;//if want to load non Personalized ads set true
Admob.getInstance().showBanner("Your banner ID",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER,80,extraParam);

7.广告事件

横幅广告和插页式广告都包含许多您可以注册的广告事件。要在插页式广告上设置广告事件并在广告成功加载时显示插页式广告:

 Admob.getInstance().addEventListener(AdmobEvent.onInterstitialReceive, onAdEvent);
    private function onAdEvent(event:AdmobEvent):void
    {
        if (event.type == AdmobEvent.onBannerReceive)
        {
            trace(event.instanceName,event.data.width, event.data.height);
        }
        if (event.type == AdmobEvent.onInterstitialReceive)
        {
            Admob.getInstance().showInterstitial();
        }
    }

8.Admob 奖励视频

视频 api 与 Interstitial 类似

要在视频上设置广告事件并在成功加载广告时显示视频:

if(admob.isVideoReady()){
    admob.showVideo();
}else{
    admob.cacheVideo(videoID);
}
    Admob.getInstance().addEventListener(AdmobEvent.onVideoReceive, onVideoEvent);
    private function onVideoEvent(event:AdmobEvent):void
    {
        if (event.type == AdmobEvent.onVideoReceive)
        {
            trace("load video success,you can show video now");
        }

    }

9.IOS最低版本配置

admob 需要 ios 8 及更高版本

<key>MinimumOSVersion</key>
    <string>8.0</string>

简单的例子

<iPhone>
        <InfoAdditions><![CDATA[
            <key>UIDeviceFamily</key>
            <array>
                <string>1</string>
                <string>2</string>
            </array>
                <key>MinimumOSVersion</key>
        <string>8.0</string>
            <key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsForMedia</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>
        ]]></InfoAdditions>
        <requestedDisplayResolution>high</requestedDisplayResolution>
    </iPhone>

10.android权限配置

从 admob 17 需要 Meta Config com.google.android.gms.ads.APPLICATION_ID 请用您的 admob ID 替换 ca-app-pub-3940256099942544~3347511713

<android>
        <manifestAdditions><![CDATA[
            <manifest android:installLocation="auto">
                <uses-permission android:name="android.permission.INTERNET"/>
                <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
                <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
                 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
                 <application>
 <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
                   <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent"/>

 <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>

                 </application>
            </manifest>
        ]]></manifestAdditions>
    </android>

标签: admobane

解决方案


这个 ANE 非常陈旧和过时。从那时起,AdMob SDK 已经多次更改,2018 年进行了一次重大更新。您可以使用这个几乎总是更新的 SDK。


推荐阅读