Como integrar os anúncios em vídeo premiados do Google Admob no Android?
Para ganhar dinheiro com o aplicativo ou jogo Android , existem muitas maneiras, como compras no aplicativo, patrocínio, anúncios e muito mais. Mas existe outro método popular de ganhar dinheiro com o aplicativo Android é integrando um anúncio, por exemplo, conhecido como Google AdMob . A Google AdMob foi projetada com os desenvolvedores em mente. A AdMob ajuda a gerar mais receita com aplicativos, fornecer melhor experiência do usuário e obter informações acionáveis, tudo com ferramentas automatizadas que fazem o trabalho pesado por você.
Por que a rede Google Admob?
- O pagamento mínimo é $100
- Grande variedade de formatos de anúncio
- Taxas máximas de preenchimento
- ECPM alto (custo efetivo por milha)
- Anúncios de qualidade
- Anúncios Personalizados
Formatos de Google AdMob
Existem principalmente quatro tipos de formato flexível e de alto desempenho disponíveis no Google AdMob
- Nativo: anúncios que você cria para se ajustar ao aplicativo, perfeitamente
- Intersticial : anúncios em tela cheia que chamam a atenção e se tornam parte da experiência.
- Banner : formatos tradicionais em uma variedade de canais.
- Vídeo premiado: um anúncio em vídeo imersivo iniciado pelo usuário que recompensa os usuários por assistirem.
Neste artigo, vamos integrar o SDK do Google Admob para mostrar o anúncio em vídeo premiado no aplicativo Android.
Vídeo premiado:
- Os anúncios em vídeo premiados são anúncios em tela inteira que cobrem toda a interface do usuário do aplicativo. O eCPM (custo efetivo por milha) de anúncios em vídeo premiado é relativamente maior do que anúncios em banner e intersticiais e também leva a uma CTR ( taxa de cliques ) mais alta, o que resulta em mais ganhos com seu aplicativo.
- O usuário recebe uma recompensa no aplicativo ao assistir ao vídeo premiado do início ao fim. Esse tipo de anúncio é usado principalmente em jogos e também pode ser usado no aplicativo.
Abordagem
Etapa 1: Criação de um novo projeto
Para criar um novo projeto no Android Studio, consulte Como criar / iniciar um novo projeto no Android Studio. Observe que escolha Java como linguagem, embora vamos implementar este projeto na linguagem Java.
Etapa 2: antes de ir para a seção de codificação, faça uma pré-tarefa
- Vá para app -> res -> valores -> arquivo colors.xml e defina as cores para o app.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#0F9D58</color>
<color name="colorPrimaryDark">#0F9D58</color>
<color name="colorAccent">#05af9b</color>
</resources>
- Vá para Gradle Scripts -> seção build.gradle (Módulo: app) e importe as seguintes dependências e clique em “ sincronizar agora” no pop-up acima.
implementação 'com.google.android.gms: play-services-ads: 19.3.0'
- Vá para app -> manifestos -> seção AndroidManifests.xml e permita “ Permissão de Internet “.
<usa permissão para android: name = ”android.permission.INTERNET” />
- Vá para app-> manifests-> seção AndroidManifest.xml e adicione a tag de meta-dados dentro da tag <application> .
<meta-dados
android: name = ”com.google.android.gms.ads.APPLICATION_ID”
android: value = ”ca-app-pub-3940256099942544 ~ 3347511713 ″
/>
Etapa 3: projetar a interface do usuário
No activity_main.xml adicione um botão para que quando o usuário clicar no botão o vídeo premiado será reproduzido na tela.
<?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 Rewarded Video Ad By Clicking it -->
<Button
android:id="@+id/showVideoBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_margin="8dp"
android:background="@color/colorPrimary"
android:padding="16dp"
android:text="Show Rewarded Video Ad "
android:textColor="#ffff"
android:textSize="20dp" />
</RelativeLayout>
Etapa 4: Trabalhar com o arquivo MainActivity.java
- Abra o arquivo MainActivity.java lá dentro da classe, primeiro de tudo, crie o objeto da classe Button.
// Criando um objeto da classe Button
Botão showVideoAdBtn;
- Agora, dentro do método onCreate() , vincule esses objetos aos seus respectivos IDs fornecidos no arquivo activity_main.xml .
// vincular esses objetos com seus respectivos ids que fornecemos no arquivo activity_main.xml
showVideoAdBtn = (Botão) findViewById (R.id.showVideoBtn);
- Agora dentro do método onCreate() , inicialize o SDK do Google Admob
// inicializando o SDK do Google Admob
MobileAds.initialize (this);
- Crie um objeto de RewardedVideoAd dentro da classe MainActivity.java
// criando objeto de RewardedVideoAd
private RewardedVideoAd AdMobrewardedVideoAd;
- Crie um ID de anúncio em vídeo premiado da AdMob dentro da classe MainActivity.java
// AdMob Rewarded Video Ad Id
private String AdId = ”ca-app-pub-3940256099942544/5224354917 ″;
- Em seguida, crie um método void loadRewardedVideoAd() privado fora do método onCreate() e defina-o.
void loadRewardedVideoAd()
{
// inicializando o objeto RewardedVideoAd
// O construtor RewardedVideoAd considera o contexto como seu argumento
AdMobrewardedVideoAd = MobileAds.getRewardedVideoAdInstance (this);
// Carregando anúncio em vídeo premiado
AdMobrewardedVideoAd.loadAd (AdId, novo AdRequest.Builder(). Build());
}
- Chame o método loadRewardedVideoAd() dentro do método oncreate() após inicializar o SDK.
Nota : Substitua “ AdId ” pelo seu próprio ID de anúncio de aplicativo para mostrar anúncios reais.
- Em seguida, crie um método void showRewardedVideoAd() fora do método onCreate() que chamaremos mais tarde para mostrar o anúncio.
public void showRewardedVideoAd()
{
if (AdMobrewardedVideoAd.isLoaded()) // Verificando se o anúncio está carregado ou não
{
// mostrando anúncio de vídeo
AdMobrewardedVideoAd.show();
}
outro
{
// Carregando anúncio em vídeo premiado
AdMobrewardedVideoAd.loadAd (AdId, novo AdRequest.Builder(). Build());
}
}
- Portanto, a próxima coisa é chamar o método showRewardedVideoAd() . Agora, no método oncreate() , crie um ClickListener para o botão e chame showRewardedVideoAd().
// clique no ouvinte para mostrar o anúncio em vídeo premiado
showVideoAdBtn.setOnClickListener (new View.OnClickListener() {
@Sobrepor
public void onClick (Exibir visualização) {
showRewardedVideoAd();
}
});
- Agora adicione RewardedVideoAdListener para o anúncio em vídeo premiado, para que o usuário saiba o status dos anúncios.
- Para adicionar RewardedVideoAdListener, abra o método loadRewardedVideoAd() e adicione o código abaixo antes de AdMobrewardedVideoAd.loadAd (AdId, new AdRequest.Builder(). Build()) ;
// Listener de anúncio em vídeo premiado
AdMobrewardedVideoAd.setRewardedVideoAdListener (new RewardedVideoAdListener() {
@Sobrepor
public void onRewardedVideoAdLoaded() {
// Mostrando mensagem brinde
Toast.makeText (MainActivity.this, “onRewardedVideoAdLoaded”, Toast.LENGTH_SHORT) .show();
}
@Sobrepor
public void onRewardedVideoAdOpened() {
// Mostrando mensagem brinde
Toast.makeText (MainActivity.this, “onRewardedVideoAdOpened”, Toast.LENGTH_SHORT) .show();
}
@Sobrepor
public void onRewardedVideoStarted() {
// Mostrando mensagem brinde
Toast.makeText (MainActivity.this, “onRewardedVideoStarted”, Toast.LENGTH_SHORT) .show();
}
@Sobrepor
public void onRewardedVideoAdClosed() {
// Mostrando mensagem brinde
Toast.makeText (MainActivity.this, “onRewardedVideoAdClosed”, Toast.LENGTH_SHORT) .show();
}
@Sobrepor
public void onRewarded (RewardItem rewardItem) {
// Mostrando mensagem brinde
Toast.makeText (MainActivity.this, “onRewarded”, Toast.LENGTH_SHORT) .show();
}
@Sobrepor
public void onRewardedVideoAdLeftApplication() {
// Mostrando mensagem brinde
Toast.makeText (MainActivity.this, “onRewardedVideoAdLeftApplication”, Toast.LENGTH_SHORT) .show();
}
@Sobrepor
public void onRewardedVideoAdFailedToLoad (int i) {
// Mostrando mensagem brinde
Toast.makeText (MainActivity.this, “onRewardedVideoAdFailedToLoad”, Toast.LENGTH_SHORT) .show();
}
@Sobrepor
public void onRewardedVideoCompleted() {
// Mostrando mensagem brinde
Toast.makeText (MainActivity.this, “onRewardedVideoCompleted”, Toast.LENGTH_SHORT) .show();
}
});
- E dentro dos métodos RewardedVideoAdListener Override mostram uma mensagem brinde para que os usuários saibam o status do anúncio. Abaixo está o código completo para o arquivo MainActivity.Java .
package org.geeksforgeeks.project;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardItem;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;
public class MainActivity extends AppCompatActivity {
// Creating a object of Button class
Button showVideoAdBtn;
@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
showVideoAdBtn
= (Button)findViewById(R.id.showVideoBtn);
// initializing the Google Admob SDK
MobileAds.initialize(this);
// loading Video Ad
loadRewardedVideoAd();
// click listener to show Rewarded Video Ad
showVideoAdBtn.setOnClickListener(
new View.OnClickListener() {
@Override public void onClick(View view)
{
// showing Ad
showRewardedVideoAd();
}
});
}
// creating RewardedVideoAd object
private RewardedVideoAd AdMobrewardedVideoAd;
// AdMob Rewarded Video Ad Id
private String AdId
= "ca-app-pub-3940256099942544/5224354917";
void loadRewardedVideoAd()
{
// initializing RewardedVideoAd Object
// RewardedVideoAd Constructor Takes Context as its
// Argument
AdMobrewardedVideoAd
= MobileAds.getRewardedVideoAdInstance(this);
// Rewarded Video Ad Listener
AdMobrewardedVideoAd.setRewardedVideoAdListener(
new RewardedVideoAdListener() {
@Override
public void onRewardedVideoAdLoaded()
{
// Showing Toast Message
Toast
.makeText(MainActivity.this,
"onRewardedVideoAdLoaded",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void onRewardedVideoAdOpened()
{
// Showing Toast Message
Toast
.makeText(MainActivity.this,
"onRewardedVideoAdOpened",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void onRewardedVideoStarted()
{
// Showing Toast Message
Toast
.makeText(MainActivity.this,
"onRewardedVideoStarted",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void onRewardedVideoAdClosed()
{
// Showing Toast Message
Toast
.makeText(MainActivity.this,
"onRewardedVideoAdClosed",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void onRewarded(
RewardItem rewardItem)
{
// Showing Toast Message
Toast
.makeText(MainActivity.this,
"onRewarded",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void
onRewardedVideoAdLeftApplication()
{
// Showing Toast Message
Toast
.makeText(
MainActivity.this,
"onRewardedVideoAdLeftApplication",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void onRewardedVideoAdFailedToLoad(
int i)
{
// Showing Toast Message
Toast
.makeText(
MainActivity.this,
"onRewardedVideoAdFailedToLoad",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void onRewardedVideoCompleted()
{
// Showing Toast Message
Toast
.makeText(
MainActivity.this,
"onRewardedVideoCompleted",
Toast.LENGTH_SHORT)
.show();
}
});
// Loading Rewarded Video Ad
AdMobrewardedVideoAd.loadAd(
AdId, new AdRequest.Builder().build());
}
public void showRewardedVideoAd()
{
// Checking If Ad is Loaded or Not
if (AdMobrewardedVideoAd.isLoaded()) {
// showing Video Ad
AdMobrewardedVideoAd.show();
}
else {
// Loading Rewarded Video Ad
AdMobrewardedVideoAd.loadAd(
AdId, new AdRequest.Builder().build());
}
}
}
Etapa 5: arquivo AndroidManifest.xml
Abaixo está o código completo para o arquivo AndroidManifest.xml .
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.geeksforgeeks.project">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- meta data tag for admob Note:replace below app id
value to your own app id -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
</application>
</manifest>
Saída: Executar no emulador
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva