Cara menerapkan Appnext ads di android

Cara menerapkan Appnext ads di android

Appnext adalah platform iklan digital seluler terkemuka, membantu jutaan pengguna menggunakan aplikasi pada waktu yang tepat sepanjang hari. Platform kami menawarkan kepada penayang seluler dan reseller aplikasi solusi teknologi end-to-end untuk monetisasi premium dan pengembangan aplikasi.
Dengan komunitas berkembang yang terdiri lebih dari 65.000 pengembang dan 650 juta pengguna di seluruh dunia, appnext telah menciptakan pasar yang menghubungkan penayang dan pengiklan secara langsung dan lancar untuk mendukung upaya monetisasi dan periklanan mereka.
Appnext telah menjadi pemimpin dalam periklanan dalam aplikasi dan video seluler sejak 2012, bermitra dengan web seluler, game, penerbit aplikasi, OEM, dan operator terkemuka untuk membantu mereka mengembangkan bisnis seluler dengan mempromosikan aplikasi mereka.

Pembayaran Appnext diproses dalam waktu 10 hari sejak faktur, asalkan saldo akun Penerbit lebih besar dari $200 jika Penerbit memilih untuk penarikan melalui transfer bank atau $50 jika Penerbit memilih untuk melalui PayPal atau layanan serupa.

Halaman ini akan menampilkan contoh unit iklan Appnext Android SDK; Interstitial, Spanduk, Layar pembuka/Penghargaan.

Tambahkan baris kode berikut ini ke file build.gradle aplikasi Anda di dalam bagian repositori:


jcenter()
maven { url "http://dl.appnext.com/" }

Tambahkan ini ke bagian Dependensi, yang diperlukan:


implementation 'com.appnext.sdk:ads:2.4.2.471.2'
implementation 'com.appnext.sdk:banners:2.4.2.471.2'

Appnext SDK menggunakan izin yang Anda berikan kepada aplikasi Anda untuk meningkatkan penargetan kampanye dan menyarankan aplikasi yang paling relevan kepada pengguna. Kami sangat menyarankan agar aplikasi Anda memerlukan izin berikut agar Anda dapat merekomendasikannya dengan lebih baik kepada pengguna dan menampilkan jenis kampanye premium di dalamnya, tambahkan ini ke AndroidManifest.xml:


    <!-- dapatkan akses jaringan penuh -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- lihat sambungan jaringan -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<!-- Appnext integration -->
<service android:name="com.appnext.core.DownloadService" />
<activity android:name="com.appnext.ads.interstitial.InterstitialActivity"
			android:hardwareAccelerated="true"
			android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
<activity android:name="com.appnext.ads.fullscreen.FullscreenActivity"
			android:hardwareAccelerated="true" android:configChanges="keyboardHidden|orientation|screenSize"
			android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />

Untuk melakukan percobaan saya susun file activity_main.xml seperti di bawah ini:


<?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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.appnext.sdktest.MainActivity">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="30dp">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Set streaming mode"
                    android:layout_alignParentLeft="true"
                    android:layout_marginLeft="10dp"/>
                <Switch
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/Idswitch"
                    android:layout_alignParentRight="true"
                    android:layout_marginRight="10dp"/>
            </RelativeLayout>

            <Button
                android:id="@+id/interLoadad"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="interstitial load ad" />

            <Button
                android:id="@+id/interShow"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/inter_load_button"
                android:text="interstitial show ad" />

            <Button
                android:id="@+id/fullScreenLoadad"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/inter_show_button"
                android:text="fullscreen load ad" />

            <Button
                android:id="@+id/fullScreenShow"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/full_screen_load_button"
                android:text="fullscreen show ad" />

            <Button
                android:id="@+id/multiRewardedLoad"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/full_screen_show_button"
                android:text="multi rewarded load ad" />

            <Button
                android:id="@+id/multiRewardedShow"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/multi_rewarded_load_button"
                android:text="multi rewarded show ad" />

            <Button
                android:id="@+id/normalRewardedLoad"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/full_screen_show_button"
                android:text="normal rewarded load ad" />

            <Button
                android:id="@+id/normalRewardedShow"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/multi_rewarded_load_button"
                android:text="normal rewarded show ad" />

            <Spinner
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="15dp"
                android:layout_marginBottom="15dp"

                android:id="@+id/spinner"/>
            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
				<com.appnext.banners.BannerView
					xmlns:ads="http://schemas.android.com/apk/res-auto"
					android:id="@+id/banner1"
					android:visibility="invisible"
					android:layout_width="wrap_content"
					android:layout_height="wrap_content"
					ads:bannerSize="BANNER"
					ads:placementId="a48ac80e-7c52-402d-b061-b7d6ca400823"/>

				<com.appnext.banners.BannerView
					xmlns:ads="http://schemas.android.com/apk/res-auto"
					android:id="@+id/banner2"
					android:visibility="invisible"
					android:layout_width="wrap_content"
					android:layout_height="wrap_content"
					ads:bannerSize="LARGE_BANNER"
					ads:placementId="ea4af50b-40ca-4f3b-8beb-2b10b562a270"/>

				<com.appnext.banners.BannerView
					xmlns:ads="http://schemas.android.com/apk/res-auto"
					android:id="@+id/banner3"
					android:visibility="invisible"
					android:layout_width="wrap_content"
					android:layout_height="wrap_content"
					ads:bannerSize="MEDIUM_RECTANGLE"
					ads:placementId="4f4ba404-0215-42c0-acff-77de7a45fdc9"/>
            </RelativeLayout>
        </LinearLayout>
    </ScrollView>
</RelativeLayout>


Dan baris kode di bawah ini adalah untuk file MainActivity.java saya.


package com.happycodx.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.Spinner;
import android.widget.Switch;
import android.widget.Toast;
import com.appnext.ads.fullscreen.FullScreenVideo;
import com.appnext.ads.fullscreen.RewardedVideo;
import com.appnext.ads.fullscreen.Video;
import com.appnext.ads.interstitial.Interstitial;
import com.appnext.banners.BannerAdRequest;
import com.appnext.banners.BannerListener;
import com.appnext.banners.BannerView;
import com.appnext.core.AppnextError;
import com.appnext.core.callbacks.OnAdClicked;
import com.appnext.core.callbacks.OnAdClosed;
import com.appnext.core.callbacks.OnAdError;
import com.appnext.core.callbacks.OnAdLoaded;
import com.appnext.core.callbacks.OnVideoEnded;

public class MainActivity extends Activity implements View.OnClickListener {
    private Interstitial interstitial;
    private FullScreenVideo fullscreen;
    private RewardedVideo rewardedMulti;
    private RewardedVideo rewardedNormal;
    private OnVideoEnded onVideoEnded;
    private OnAdLoaded onAdLoaded;
    private OnAdError onAdError;
    private OnAdClosed onAdClosed;
    private OnAdClicked onAdClicked;
    private BannerView bannerView1, bannerView2, bannerView3;
    private Button interLoadButton, interShowButton, fullScreenLoadButton, fullScreenShowButton, multiRewardedLoadButton, multiRewardedShowButton, normalRewardedLoadButton, normalRewardedShowButton;
    private Spinner bannerSpinner;
    private String placementIDInter = "103029bd-5625-4ba2-9293-8a29461b8692";
    private String placementIDFullScreen = "faed8533-5061-418b-8ad1-7b19a066ef8a";
    private String placementIDRewardedNormal = "37d5b4a5-500b-44fb-b745-788084be2794";
    private String placementIDRewardedMulti = "0445b326-976b-4d49-99b6-ccc0c5284346";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setVies();
        onVideoEnded = new OnVideoEnded() {
            @Override
            public void videoEnded() {
                Toast.makeText(MainActivity.this, "videoEnded", Toast.LENGTH_SHORT).show();
            }
        };
        onAdLoaded = new OnAdLoaded() {
            @Override
            public void adLoaded(String banner) {
                Toast.makeText(MainActivity.this, "adLoaded", Toast.LENGTH_SHORT).show();
            }
        };

        onAdError = new OnAdError() {
            @Override
            public void adError(String error) {
                Toast.makeText(MainActivity.this, "adError " + error, Toast.LENGTH_SHORT).show();
            }
        };

        onAdClosed = new OnAdClosed() {
            @Override
            public void onAdClosed() {
                Toast.makeText(MainActivity.this, "onAdClosed", Toast.LENGTH_SHORT).show();
            }
        };

        onAdClicked = new OnAdClicked() {
            @Override
            public void adClicked() {
                Toast.makeText(MainActivity.this, "adClicked", Toast.LENGTH_SHORT).show();
            }
        };

        interstitial = new Interstitial(this, placementIDInter);
        interstitial.setOnAdClickedCallback(onAdClicked);
        interstitial.setOnAdClosedCallback(onAdClosed);
        interstitial.setOnAdErrorCallback(onAdError);
        interstitial.setOnAdLoadedCallback(onAdLoaded);

        fullscreen = new FullScreenVideo(this, placementIDFullScreen);
        fullscreen.setOnAdClickedCallback(onAdClicked);
        fullscreen.setOnAdClosedCallback(onAdClosed);
        fullscreen.setOnAdErrorCallback(onAdError);
        fullscreen.setOnAdLoadedCallback(onAdLoaded);
        fullscreen.setOnVideoEndedCallback(onVideoEnded);
        fullscreen.setBackButtonCanClose(true);
        fullscreen.setShowClose(true);

        rewardedMulti = new RewardedVideo(this, placementIDRewardedMulti);
        rewardedMulti.setMode(RewardedVideo.VIDEO_MODE_MULTI);
        rewardedMulti.setVideoLength(Video.VIDEO_LENGTH_SHORT);
        rewardedMulti.setMultiTimerLength(9);
        rewardedMulti.setRollCaptionTime(-1);
        rewardedMulti.setOnAdClickedCallback(onAdClicked);
        rewardedMulti.setOnAdClosedCallback(onAdClosed);
        rewardedMulti.setOnAdErrorCallback(onAdError);
        rewardedMulti.setOnAdLoadedCallback(onAdLoaded);
        rewardedMulti.setOnVideoEndedCallback(onVideoEnded);
        rewardedMulti.setRewardedServerSidePostback("TransactionId", "UserId", "TypeCurrency", "Amount", "CustomParameter");

        rewardedNormal = new RewardedVideo(this, placementIDRewardedNormal);
        rewardedNormal.setMode(RewardedVideo.VIDEO_MODE_NORMAL);
        rewardedNormal.setOnAdClickedCallback(onAdClicked);
        rewardedNormal.setOnAdClosedCallback(onAdClosed);
        rewardedNormal.setOnAdErrorCallback(onAdError);
        rewardedNormal.setOnAdLoadedCallback(onAdLoaded);
        rewardedNormal.setOnVideoEndedCallback(onVideoEnded);
        rewardedNormal.setRewardedServerSidePostback("TransactionId", "UserId", "TypeCurrency", "Amount", "CustomParameter");

        Switch streamingSwitch = (Switch) findViewById(R.id.Idswitch);
        streamingSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
				@Override
				public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
					Video.setStreamingMode(isChecked);
				}
			});
    }

    private void setVies() {
        interLoadButton = (Button) findViewById(R.id.interLoadad);
        interLoadButton.setOnClickListener(this);
        interShowButton = (Button) findViewById(R.id.interShow);
        interShowButton.setOnClickListener(this);
        fullScreenLoadButton = (Button) findViewById(R.id.fullScreenLoadad);
        fullScreenLoadButton.setOnClickListener(this);
        fullScreenShowButton = (Button) findViewById(R.id.fullScreenShow);
        fullScreenShowButton.setOnClickListener(this);
        multiRewardedLoadButton = (Button) findViewById(R.id.multiRewardedLoad);
        multiRewardedLoadButton.setOnClickListener(this);
        multiRewardedShowButton = (Button) findViewById(R.id.multiRewardedShow);
        multiRewardedShowButton.setOnClickListener(this);
        normalRewardedLoadButton = (Button) findViewById(R.id.normalRewardedLoad);
        normalRewardedLoadButton.setOnClickListener(this);
        normalRewardedShowButton = (Button) findViewById(R.id.normalRewardedShow);
        normalRewardedShowButton.setOnClickListener(this);
        bannerSpinner = (Spinner) findViewById(R.id.spinner);
        bannerView1 = (BannerView) findViewById(R.id.banner1);
        bannerView1.setVisibility(View.INVISIBLE);
        bannerView2 = (BannerView) findViewById(R.id.banner2);
        bannerView2.setVisibility(View.INVISIBLE);
        bannerView3 = (BannerView) findViewById(R.id.banner3);
        bannerView3.setVisibility(View.INVISIBLE);
        String[] arraySpinner = new String[] {"Choose a banner size to show", "BANNER (320x50)", "LARGE BANNER (320x100)", "MEDIUM RECTANGLE (300x250)"};
        ArrayAdapter adapter = new ArrayAdapter(this,
																android.R.layout.simple_spinner_item, arraySpinner);
        bannerSpinner.setAdapter(adapter);
        bannerSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
				@Override
				public void onItemSelected(AdapterView parent, View view, int position, long id) {
					switch (position){
						case 0:

						case 1:
							bannerView1.loadAd(new BannerAdRequest());
							bannerView1.setVisibility(View.VISIBLE);
							bannerView1.setBannerListener(new BannerListener(){
									@Override
									public void onError(AppnextError appnextError) {
										super.onError(appnextError);
										Toast.makeText(getApplicationContext(), "No ads", Toast.LENGTH_SHORT).show();
									}
								});
							bannerView2.setVisibility(View.INVISIBLE);
							bannerView3.setVisibility(View.INVISIBLE);
							break;
						case 2:
							bannerView2.loadAd(new BannerAdRequest());
							bannerView1.setVisibility(View.INVISIBLE);
							bannerView2.setVisibility(View.VISIBLE);
							bannerView2.setBannerListener(new BannerListener(){
									@Override
									public void onError(AppnextError appnextError) {
										super.onError(appnextError);
										Toast.makeText(getApplicationContext(), "No ads", Toast.LENGTH_SHORT).show();
									}
								});
							bannerView3.setVisibility(View.INVISIBLE);
							break;
						case 3:
							bannerView3.loadAd(new BannerAdRequest().setMute(true).setAutoPlay(true));
							bannerView1.setVisibility(View.INVISIBLE);
							bannerView2.setVisibility(View.INVISIBLE);
							bannerView3.setVisibility(View.VISIBLE);
							bannerView3.setBannerListener(new BannerListener(){
									@Override
									public void onError(AppnextError appnextError) {
										super.onError(appnextError);
										Toast.makeText(getApplicationContext(), "No ads", Toast.LENGTH_SHORT).show();
									}
								});
							break;
					}
				}

				@Override
				public void onNothingSelected(AdapterView parent) {
					bannerView1.setVisibility(View.INVISIBLE);
					bannerView2.setVisibility(View.INVISIBLE);
					bannerView3.setVisibility(View.INVISIBLE);
				}
			});
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.inter_load_button:
                interstitial.loadAd();
                break;
            case R.id.inter_show_button:
                interstitial.showAd();
                break;
            case R.id.full_screen_load_button:
                fullscreen.loadAd();
                break;
            case R.id.full_screen_show_button:
                fullscreen.showAd();
                break;
            case R.id.multi_rewarded_load_button:
                rewardedMulti.loadAd();
                break;
            case R.id.multiRewardedShow:
                rewardedMulti.showAd();
                break;
            case R.id.normalRewardedLoad:
                rewardedNormal.loadAd();
                break;
            case R.id.normalRewardedShow:
                rewardedMulti.showAd();
                break;
            default:
        }
    }
}


Hasilnya, anda bisa lihat video di bawah ini:

Baca Juga
Posting Komentar (0)
Lebih baru Lebih lama