Fascodes Ads Documents

vuePress-theme-reco Liang Hu    2020
Fascodes Ads Documents Fascodes Ads Documents

Choose mode

  • dark
  • auto
  • light
Home
广告SDK
  • Android
  • iOS
  • Web
广告投放
广告转化
前往控制面板 (opens new window)
选择语言
  • English
  • 简体中文
  • 日本語

Liang Hu

0

文章

0

标签

Home
广告SDK
  • Android
  • iOS
  • Web
广告投放
广告转化
前往控制面板 (opens new window)
选择语言
  • English
  • 简体中文
  • 日本語
  • 广告SDK

    • Android
    • iOS
    • Web
  • 广告投放

  • 广告转化

广告SDK(Android)

vuePress-theme-reco Liang Hu    2020

广告SDK(Android)

Liang Hu

# 1. 准备工作

  • 创建Fascode Ads帐户(还没有帐户?注册新帐户(opens new window) )
  • 已将App添加到Fascode Ads(还没有App? 添加新App(opens new window) )
  • 使用Android Studio 3.4或更高版本
  • App的支持版本在Android 6.0及以上(minSdkVersion>=16)
  • compileSdkVersion>=28

# 2. 引入SDK

通过使用指向 Maven代码库的 Gradle(opens new window) 依赖项,应用可以导入 Fascode广告SDK。首先,请确保在项目级 build.gradle 文件的 allprojects 部分引用了 mavenCentral()。

  • project-level build.gradle


 



allprojects {
    repositories {
        mavenCentral()
    }
}

接下来,请打开您应用的应用级 build.gradle 文件,并添加SDK的依赖项到dependencies中


 



dependencies {
  implementation "com.fascode.ads:fascode-ads:1.+"
  ...// 其它依赖项
}

# 3. 使用SDK

# 3.1 获取Publisher Id

前往 Account(opens new window) 获得你的 Publisher Id

# 3.2 初始化SDK

加载广告之前,请先调用 FascodeAds.shared().init(...),以便让应用初始化移动广告 SDK。该方法将初始化相应 SDK,并在初始化完成后或 30 秒超时后回调完成监听器。此操作仅需执行一次,最好是在应用启动时执行。








 



import com.fascode.ads.FascodeAds
import com.fascode.ads.initialization.InitializationStatus
import com.fascode.ads.initialization.onInitializationComplete

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        FascodeAds.shared().init(this, "<Your Publisher ID>") {}
    }
}








 
 
 
 
 



import com.fascode.ads.FascodeAds;
import com.fascode.ads.initialization.InitializationStatus;
import com.fascode.ads.initialization.onInitializationComplete;

class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        FascodeAds.shared().init(this, "<Your Publisher ID>", new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });
    }
}

# 4. 创建广告单元

请前往 Fascode广告控制台-创建新广告单元(opens new window) ,你需要按照本节中接下来的步骤创建一个或多个广告单元,广告单元将决定会展示的广告特性。

如果使用已有的广告单元,请跳过本节前往 5. Show Ads

# 4.1 选择广告类型

在Android App中,你可以选择如下广告类型:

  • 横幅广告
  • 插页式广告
  • 视频插播广告
  • 自定义广告
  • 玩家激励广告

Tips

  • 玩家激励广告并不是一种独立类型,而是激励玩家观看视频插播广告而获得应用内奖励的方法。

# 4.2 选择广告策略

默认为全选,您也可以手动设置广告策略来进行人为优化。

# 4.3 设置刷新间隔(仅适用于横幅广告)

如果展示的是横幅广告,则可以设置刷新间隔(秒单位)来定期替换所展示的广告。

# 4.4 保存广告单元

保存,系统将生成一个新的广告单元,并返回给你 Ad Unit ID,该值将被用于植入广告到应用中。

# 5. 植入广告

# 5.1 横幅广告

# 向布局中添加广告位 BannerAd

# main_activity.xml
...
  <com.fascode.ads.BannerAd
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/bannerAd"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adUnitId="<Ad Unit ID>">
  </com.fascode.ads.BannerAd>
...

请注意设置以下必需属性:

  • adUnitId: 即广告单元ID(Ad Unit ID),如果还没有获取,请参考 4. 创建广告单元

你也可以在应用程序的代码中创建 BannerAd :

mBannerAd = FascodeAds.shared().createBannerAd(this, "<Ad Unit ID>")
// TODO: 添加AdBanner到你的画面布局中.

mBannerAd = FascodeAds.shared().createBannerAd(this, "<Ad Unit ID>");
// TODO: 添加AdBanner到你的画面布局中.

# 向BannerAd中加载广告

BannerAd 放置好后,下一步是加载广告。广告加载是使用 BannerAd 类中的 loadAd() 方法完成的。此方法需要一个 AdRequest 参数,该参数中包含关于单个广告请求的运行时信息(如定位信息)。

下例显示了如何通过 Activity 的 onCreate() 方法加载广告:









 
 



class MainActivity : AppCompatActivity() {
    lateinit var mBannerAd : BannerAd

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // In case BannerAd is added to Layout(R.layout.activity_main)
        mBannerAd = findViewById(R.id.bannerAd)
        val adRequest = FascodeAds.shared().createAdRequest();
        mBannerAd?.loadAd(adRequest)
    }
}









 
 




// MainActivity.java
public class MainActivity extends AppCompatActivity {
    private BannerAd mBannerAd;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // In case BannerAd is added to Layout(R.layout.activity_main)
        mAdView = findViewById(R.id.bannerAd);
        AdRequest adRequest = FascodeAds.shared().createAdRequest();
        mBannerAd.loadAd(adRequest);
    }
}

注意

横幅广告通常显示在画面底部或顶部,请确保广告能够正常显示,并且没有干扰到画面中的其他组件。

# 5.2 插页式广告

插页式广告不能插入到布局中,而只能通过编程来展示,并且要确保关闭按钮(右上角按钮)没有被遮挡。 请在需要展示插页式广告的时机(例如Activity.onCreate()中)调用如下代码:

val interstitialAd = FascodeAds.shared().createInterstitialAd(this, "<Ad Unit ID>");
val adRequest = FascodeAds.shared().createAdRequest();
interstitialAd.loadAd(adRequest);
InterstitialAd interstitialAd = FascodeAds.shared().createInterstitialAd(this, "<Ad Unit ID>");
val adRequest = FascodeAds.shared().createAdRequest();
interstitialAd.loadAd(adRequest);

# 5.3 视频插播广告

与插页式广告相同,视频插播广告,也只能在编程来展示。 请在需要展示视频插播广告的时机(例如一轮游戏结束时)调用如下代码:

val videoAd = FascodeAds.shared().createVideoAd(this, "<Ad Unit ID>");
val adRequest = FascodeAds.shared().createAdRequest();
videoAd.loadAd(adRequest);
VideoAd videoAd = FascodeAds.shared().createVideoId(this, "<Ad Unit ID>");
val adRequest = FascodeAds.shared().createAdRequest();
videoAd.loadAd(adRequest);

# 5.4 自定义广告

当你在控制面板中创建的广告单元是原生定制类型的话,则意味着该广告单元的ID只会加载和展示您创建的单个固定广告。 在应用中展示的方法等同于 5.1 横幅广告,5.2 插页式广告 ,5.3 视频插播广告 的实现方法。

# 5.5 用户激励广告

为了鼓励用户把广告看完,你可能会加入激励机制,这种情况下,你应该会需要监听 6. 广告事件来确定是否应该给予奖励。

# 6. 广告事件

要进一步自定义你的广告行为,你可以在广告生命周期内加入许多事件,如加载、打开、关闭等等。你可以通过 AdListener 类监听这些事件。

要将 AdListener 用于监听广告事件,请调用 setAdListener() 方法:

mInterstitialAd.setAdListener(object: AdListener {
    override void onAdLoaded() {
        // Ad Loading completed
    }

    override void onAdFailedToLoad(int errorCode) {
        // Ad loading failed
    }

    override void onAdOpened() {
        // Ad showing started
    }

    override void onAdClicked() {
        // Ad clicked
    }

    override void onAdClosed() {
        // Ad closed
    }
}
    mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            // Ad Loading completed
        }

        @Override
        public void onAdFailedToLoad(int errorCode) {
            // Ad loading failed
        }

        @Override
        public void onAdOpened() {
            // Ad showing started
        }

        @Override
        public void onAdClicked() {
            // Ad clicked
        }

        @Override
        public void onAdClosed() {
            // Ad closed
        }
    });

# 7. 测试

请务必用测试广告单元ID进行测试,信息如下:

  • adUnitId: Fascode-Ads-Test-AdUnitId