如何在安卓系统中整合脸书观众网(FAN)横幅广告?
原文:https://www . geesforgeks . org/如何整合-Facebook-受众-网络-粉丝-横幅-安卓广告/
为了从安卓应用或游戏中赚钱,有很多方式,如应用内购买、赞助、广告等。但是还有一种从安卓应用中赚钱的流行方法是整合第三方广告,例如名为 的脸书观众网络。 脸书观众网旨在帮助用户体验货币化。通过使用高价值的格式、高质量的广告、和创新的出版商工具,它有助于在保持人们参与的同时发展业务。
为什么是脸书观众网?
- 脸书观众网是谷歌广告业务货币化安卓或 IOS 应用的最佳选择之一。
- 最低支付额为 $100
- 广泛的广告格式
- 最大填充率
- 高 eCPM (每千分之一有效成本)
- 优质广告
- 个性化广告
脸书观众网业态
在脸书观众网络中,主要有五种灵活、高性能的格式
- 原生:你设计的适合应用的广告,无缝衔接
- 间隙:吸引眼球并成为体验一部分的全屏广告。
- 横幅:传统业态多种摆放。
- 有奖视频 : 一款沉浸式、用户发起的视频广告,奖励用户观看。
- Playables: 先试后买的广告体验,允许用户在安装前预览游戏。
在本文中,让我们将脸书观众网络横幅广告整合到安卓应用中。横幅广告是一个矩形的图像或文字广告,在应用布局中占据很小的空间。横幅广告易于实现,不影响用户界面,逐渐增加收入。
方法
第一步:创建新的项目
要在安卓工作室创建新项目,请参考如何在安卓工作室创建/启动新项目。注意选择 Java 作为语言,虽然我们要用 Java 语言实现这个项目。
第二步:去编码区之前先做一些前置任务
- 转到应用程序->RES->values->colors . XML文件,为应用程序设置颜色。
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#0F9D58</color>
<color name="colorPrimaryDark">#0F9D58</color>
<color name="colorAccent">#05af9b</color>
</resources>
- 转到Gradle Scripts->build . Gradle(模块:app) 部分,导入以下依赖项,点击上方弹出的“立即同步”。
实现' com.facebook.android:受众-网络-sdk:5。+'
- 转到 app - >清单- > AndroidManifests.xml 部分,允许“互联网许可”。
第三步:设计 UI
在 activity_main.xml 文件中,只使用了三个 Buttons。因此,每当用户点击该按钮时,所需的横幅广告就会弹出。为了包含横幅广告,在 XML 文件中添加了一个线性布局。这是活动文件的代码。
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- Button to Show BANNER_50 Ad By Clicking it -->
<Button
android:id="@+id/banner_50"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40dp"
android:background="@color/colorPrimary"
android:padding="16dp"
android:text="Show BANNER_50"
android:textColor="#ffff"
android:textSize="24dp" />
<!-- Button to Show BANNER_90 Ad By Clicking it -->
<Button
android:id="@+id/banner_90"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/banner_50"
android:layout_margin="40dp"
android:background="@color/colorPrimary"
android:padding="16dp"
android:text="Show BANNER_90"
android:textColor="#ffff"
android:textSize="24dp" />
<!-- Button to Show RECTANGLE_HEIGHT_250 Ad By Clicking it -->
<Button
android:id="@+id/banner_250"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/banner_90"
android:layout_margin="40dp"
android:background="@color/colorPrimary"
android:padding="16dp"
android:text="Show RECTANGLE_HEIGHT_250"
android:textColor="#ffff"
android:textSize="24dp" />
<!-- LinearLayout to contain the Banner Ads -->
<LinearLayout
android:id="@+id/fb_banner_ad_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical" />
</RelativeLayout>
第四步:使用 MainActivity.java 文件
- 打开类内的 MainActivity.java 文件,首先创建按钮类的对象。
//创建按钮类的对象
按钮 fbBanner_50、fbBanner_90、fbbanner _ 250
- 现在在 onCreate() 方法中,将这些对象与在 activity_main.xml 文件中给出的它们各自的标识链接起来。
//将这些对象与我们在 activity_main.xml 文件中给出的它们各自的 id 链接起来
fbBanner_50 = (Button)findViewById(R.id.banner_50);
fbBanner_90 = (Button)findViewById(R.id.banner_90);
fbBanner_250 = (Button)findViewById(R.id.banner_250);
- 现在在 onCreate() 方法里面,初始化脸书观众网 SDK
//初始化受众网络软件开发工具包
audiencenetworkads . initialize(this);
- 在 之外创建一个私有虚空 showBanner() 方法并定义它。
- 【showBanner()方法以 AdSize 为自变量,展示不同广告大小的横幅
私有 void showBanner(AdSize adSize)
{
//创建 AdView 的对象
adview bannerad
//初始化 AdView 对象
// AdView 构造函数接受 3 个参数
// 1)上下文
// 2)放置标识
// 3)AdSize
bannerAd = new AdView(此“IMG _ 16 _ 9 _ APP _ INSTALL # YOUR _ PLACEMENT _ ID”,adSize);
//创建和初始化包含广告的线性布局
linear layout adlline container =(linear layout)findviewbyid(r . id . FB _ banner _ ad _ container);
//删除线形布局中的视图
adlinecontainer . removeall viewsinlayout();
//向 linearLayoutContainer 添加广告
adlline container . add view(banner ad);
//加载 Ad
bannerad.loadad():
}
注:将“IMG _ 16 _ 9 _ APP _ INSTALL # YOUR _ PLACEMENT _ ID”替换为自己的 placement id,展示真实广告。
- 所以接下来就是当用户点击相应的横幅广告按钮时,调用【showBanner()方法。
- 现在在 oncreate() 方法中创建一个 ClickListener 为所有三个按钮并调用showBanner()用不同的 AdSize。****
//单击监听器显示 Banner_50 Ad
fbbanner _ 50 . setonclicklistener(新视图)。onclicklistener()& gt
@覆盖
公共空间单击(查看视图){ 0
**showBanner(AdSize。BANNER _ HEIGHT _ 50);
}
});
//单击监听器显示 Banner_90 Ad
fbbanner _ 90 . setonclicklistener(新视图)。onclicklistener()& gt
@覆盖
公共空间单击(查看视图){ 0
showBanner(AdSize。BANNER _ HEIGHT _ 90);
}
});
//单击监听器显示 Banner_250 Ad
fbbanner _ 250 . setonclicklistener(新视图)。onclicklistener()& gt
@覆盖
公共空间单击(查看视图){ 0
showBanner(AdSize。矩形 _ 高度 _ 250);
}
});**
- 现在调用setAdListener()*进行 Banner Ad,这样用户就知道广告的状态了。要添加 *adListener 打开showBanner()方法,在 bannerAd.loadAd()前添加以下代码;**
*adlistener 横幅*
*banner ad . setdlistener(new adllister())。*
*@覆盖*
****public void onerror(例如 aderor ader error)}
//显示祝酒词
吐司. makeText(MainActivity.this,“onError”,吐司。LENGTH_SHORT)。show();
}
@覆盖
公共 void OnAdloaded(Ad Ad){ 0
//显示祝酒词
吐司. makeText(MainActivity.this,“onAdLoaded”,吐司。LENGTH_SHORT)。show();
}
@覆盖
公共空间
//显示祝酒词
吐司. makeText(MainActivity.this,“onAdClicked”,吐司。LENGTH_SHORT)。show();
}
@覆盖
public 请参阅 onlogingimpression(ad)}
//显示祝酒词
Toast . make text(main activity . this,“onLoggingImpression”,Toast。LENGTH_SHORT)。show();
}
});****
- *并且在*广告监听器里面覆盖方法显示敬酒信息让用户知道广告的状态。下面是 MainActivity.java 文件的完整代码。****
*MainActivity.java*
**package org.geeksforgeeks.project;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.facebook.ads.Ad;
import com.facebook.ads.AdError;
import com.facebook.ads.AdListener;
import com.facebook.ads.AdSize;
import com.facebook.ads.AdView;
import com.facebook.ads.AudienceNetworkAds;
public class MainActivity extends AppCompatActivity {
// Creating a objects of Button class
Button fbBanner_50, fbBanner_90, fbBanner_250;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// link those objects with their respective id's
// that we have given in activity_main.xml file
fbBanner_50 = (Button)findViewById(R.id.banner_50);
fbBanner_90 = (Button)findViewById(R.id.banner_90);
fbBanner_250
= (Button)findViewById(R.id.banner_250);
// initializing the Audience Network SDK
AudienceNetworkAds.initialize(this);
// click listener to show Banner_50 Ad
fbBanner_50.setOnClickListener(
new View.OnClickListener() {
@Override public void onClick(View view)
{
showBanner(AdSize.BANNER_HEIGHT_50);
}
});
// click listener to show Banner_90 Ad
fbBanner_90.setOnClickListener(
new View.OnClickListener() {
@Override public void onClick(View view)
{
showBanner(AdSize.BANNER_HEIGHT_90);
}
});
// click listener to show Banner_250 Ad
fbBanner_250.setOnClickListener(
new View.OnClickListener() {
@Override public void onClick(View view)
{
showBanner(AdSize.RECTANGLE_HEIGHT_250);
}
});
}
private void showBanner(AdSize adSize)
{
// creating object of AdView
AdView bannerAd;
// initializing AdView Object
// AdView Constructor Takes 3 Arguments
// 1)Context
// 2)Placement Id
// 3)AdSize
bannerAd = new AdView(
this, "IMG_16_9_APP_INSTALL#YOUR_PLACEMENT_ID",
adSize);
// Creating and initializing LinearLayout which
// contains the ads
LinearLayout adLinearContainer
= (LinearLayout)findViewById(
R.id.fb_banner_ad_container);
// removing the views inside linearLayout
adLinearContainer.removeAllViewsInLayout();
// adding ad to the linearLayoutContainer
adLinearContainer.addView(bannerAd);
// banner AdListener
bannerAd.setAdListener(new AdListener() {
@Override
public void onError(Ad ad, AdError adError)
{
// Showing a toast message
Toast
.makeText(MainActivity.this, "onError",
Toast.LENGTH_SHORT)
.show();
}
@Override public void onAdLoaded(Ad ad)
{
// Showing a toast message
Toast
.makeText(MainActivity.this,
"onAdLoaded",
Toast.LENGTH_SHORT)
.show();
}
@Override public void onAdClicked(Ad ad)
{
// Showing a toast message
Toast
.makeText(MainActivity.this,
"onAdClicked",
Toast.LENGTH_SHORT)
.show();
}
@Override public void onLoggingImpression(Ad ad)
{
// Showing a toast message
Toast
.makeText(MainActivity.this,
"onLoggingImpression",
Toast.LENGTH_SHORT)
.show();
}
});
// loading Ad
bannerAd.loadAd();
}
}**
**输出:在仿真器上运行****
版权属于:月萌API www.moonapi.com,转载请注明出处