Chuyển đến nội dung chính

BANNER VÀ CÁC TÙY CHỈNH VỀ KÍCH THƯỚC

Hầu hết người sử dụng đều ngao ngán khi nhắc đến quảng cáo trên các ứng dụng với lí do chúng cản trở tầm nhìn khi sử dụng ứng dụng. Vậy nên, đó là một vấn đề cần khắc phục để nâng cao chất lượng của ứng dụng và sản phẩm được người sử dụng chú ý mà không gây cản trở tầm nhìn.

Banner là loại hình dễ dàng tích hợp vào ứng dụng. Ở bài trước chúng ta đã tìm hiểu cách tích hợp banner vào ứng dụng android như thế nào, còn ở bài này, chúng ta sẽ tìm hiểu cách tùy chỉnh kích thước của banner sao cho phù hợp với màn hình ứng dụng.

    Các kích thước của banner.

Hiện nay, Google AdMob hỗ trợ các kích thước của banner cho các loại màn hình khác nhau ở cả trên điện thoại và máy tính bảng.
Banner sẽ chiếm một phần diện tích của màn hình

    Tích hợp và tùy chỉnh size banner.

Cách tích hợp và tùy chỉnh về kích thước của banner cũng khá đơn giản.
  • Trước tiên tạo một giao diện đơn giản để thấy rõ về sự thay đổi kích thước và chiếm diện tích màn hình của các loại banner.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    
    xmlns:app="http://schemas.android.com/apk/res-auto"    
    xmlns:tools="http://schemas.android.com/tools"    
    android:layout_width="match_parent"    
    android:layout_height="match_parent"    
    tools:context="com.example.tranganhthi.demobannersize.MainActivity">

    <TextView        
       android:id="@+id/bannersizes_tv_title"        
       android:layout_width="wrap_content"        
       android:layout_height="wrap_content"        
       android:layout_centerHorizontal="true"        
       android:paddingBottom="16dp"        
       android:paddingTop="16dp"        
       android:text="AdMob Banner Sizes"        
       android:textAppearance="@android:style/TextAppearance.Large" />

    <LinearLayout        
       android:id="@+id/bannersizes_ll_inner"        
       android:layout_width="match_parent"        
       android:layout_height="wrap_content"        
       android:layout_below="@id/bannersizes_tv_title"        
       android:layout_marginEnd="64dp"        
       android:layout_marginLeft="64dp"        
       android:layout_marginRight="64dp"        
       android:layout_marginStart="64dp"        
       android:layout_marginTop="64dp"        
       android:orientation="vertical">

        <TextView            
           android:id="@+id/bannersizes_tv_size"            
           android:layout_width="wrap_content"            
           android:layout_height="wrap_content"            
           android:text="Size"            
           android:textAppearance="?android:attr/textAppearanceMedium" />

        <Spinner            
           android:id="@+id/bannersizes_spn_size"            
           android:layout_width="wrap_content"            
           android:layout_height="wrap_content"            
           android:layout_marginTop="10dp" />

        <Button            
           android:id="@+id/bannersizes_btn_loadad"            
           android:layout_width="wrap_content"            
           android:layout_height="wrap_content"            
           android:layout_gravity="center_horizontal"            
           android:layout_marginTop="30dp"            
           android:textColor="#ffffff"            
           android:text="Load Ads" />
    </LinearLayout>

    <FrameLayout        
       android:id="@+id/bannersizes_fl_adframe"        
       android:layout_width="wrap_content"        
       android:layout_height="wrap_content"        
       android:layout_alignParentBottom="true"        
       android:layout_centerHorizontal="true"        
       android:layout_marginTop="30dp" />


</RelativeLayout>
Màn hình thu được:

  • Xử lí trong hàm main:
Cần phải kiểm tra loại màn hình để có các kích thước khác nhau. Ở đây, chúng ta kiểm tra ứng dụng đang chạy trên điện thoại hay trên máy tính bảng. Sau đó đưa các tùy chọn kích thước vào một spinner.

  int screenSize = getResources().getConfiguration().screenLayout        & Configuration.SCREENLAYOUT_SIZE_MASK;
  if ((screenSize == Configuration.SCREENLAYOUT_SIZE_LARGE)
        || (screenSize == Configuration.SCREENLAYOUT_SIZE_XLARGE)) {
    sizesArray = getResources().getStringArray(R.array.bannersizes_largesizes);
  } else {
    sizesArray = getResources().getStringArray(R.array.bannersizes_smallsizes);
  }
  ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(mSizesSpinner.getContext(),
        android.R.layout.simple_spinner_dropdown_item, sizesArray);
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  mSizesSpinner.setAdapter(adapter);
  • Xử lí sự kiện click nút "LOAD ADS"

mLoadButton.setOnClickListener(new View.OnClickListener() {
    @Override    public void onClick(View v) {
        if (mAdView != null) {
            mAdFrameLayout.removeView(mAdView);
            mAdView.destroy();
        }
        mAdView = new AdView(MainActivity.this);
        mAdView.setAdUnitId(getString(R.string.admob_banner_ad_unit_id));
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdFrameLayout.addView(mAdView);
        switch (mSizesSpinner.getSelectedItemPosition()) {
            case 0:
                mAdView.setAdSize(AdSize.BANNER);
                break;
            case 1:
                mAdView.setAdSize(AdSize.LARGE_BANNER);
                break;
            case 2:
                mAdView.setAdSize(AdSize.SMART_BANNER);
                break;
            case 3:
                mAdView.setAdSize(AdSize.FULL_BANNER);
                break;
            case 4:
                mAdView.setAdSize(AdSize.MEDIUM_RECTANGLE);
                break;
            case 5:
                mAdView.setAdSize(AdSize.LEADERBOARD);
                break;
        }
        mAdView.loadAd(new AdRequest.Builder().build());
    }
});
Quá đơn giản để thay đổi kích thước của một quảng cáo với một dòng lệnh. Qua đó giúp nâng cao chất lượng của ứng dụng cũng như quảng cáo tiếp cận tới người sử dụng một cách dễ dàng mà không gây khó chịu và phản cảm.

Source code : GitHub

Đây là bài viết được chỉnh sửa thường xuyên. Rất vui lòng đón nhận các ý kiến từ các bạn.

Nhận xét

Bài đăng phổ biến từ blog này

TÍCH HỢP BANNER QUẢNG CÁO VÀO TRONG ỨNG DỤNG ANDROID

Tìm hiểu về AdMob AdMob là một nền tảng quảng cáo trên di động, cung cấp các dịch vụ cho các nhà quảng cáo, nhà xuất bản, đại lí và các nhà phát triễn ứng dụng. Thực chất Google AdMob là quảng cáo Adsense, chẳng qua là nó là chương trình chỉ hiển thị quảng cáo trên các phần mềm di động gọi tên là AdMob cho dễ phân biệt. AdMob giúp bạn thu lợi nhuận bằng cách hiển thị quảng cáo bên trong app. Quảng cáo có dạng Banner, quảng cáo chuyển tiếp hoặc native ads. Để tích hợp quảng cáo vào ứng dụng, việc đầu tiên bạn cần có một tài khoản AdMob và tạo một hoặc nhiều Ad Unit ID. Tạo tài khoản AdMob. Nếu bạn có một tài khoản Google thì việc sở hữu tài khoản AdMob tương ứng khá dễ dàng. Các bước để tạo một ứng dụng liên kết với AdMob. Tích hợp quảng cáo trong ứng dụng android Tạo project như bình thường. Mở  build.gradle thêm compile 'com.google.android.gms:play-services-ads:10.0.0' Tạo giao diện đơn giản <? xml version= "1.0" encodi...

QUẢNG CÁO TRÊN ANDROID

Ứng dụng di động gắn quảng cáo ngày càng phổ biến. Thế nhưng làm thế nào để tối ưu lợi nhuận và đôi bên cùng có lợi là vấn đề được quan tâm hàng đầu của các nhà lập trình ứng dụng cũng như các đối tác quảng cáo. Thay vì ngồi hàng giờ để tìm hiểu xem nên làm thế nào để đặt quảng cáo hiệu quả thì thời gian sẽ rút ngằn hơn nhiều khi bạn thử làm một ứng dụng thực tế và xem qua sự thay đổi của nó. Tạo ra một ứng dụng đối với một lập trình viên quá dễ dàng nhưng khiến nó sinh lợi một cách tối ưu thì cần phải có thời gian tìm hiểu. Thay vì ngồi tìm hiểu hàng giờ thì tại sao chúng ta không thử làm một cuộc khảo sát, xem nguồn thu thay đổi như thế nào qua từng loại quảng cáo? Qua đó, có thể tìm hiểu xem cách đặt quảng cáo như thế nào để hiệu quả là nhất cho từng loại một. Trên hết là vấn đề làm sao quảng cáo tới người dùng thông tin hữu ích của sản phẩm mà họ có nhu cầu mà không gây cản trở khi sử dụng ứng dụng. Có nhiều loại hình quảng cáo được biết tới. Việc tích hợp khá dễ dàng khi có...