গুগলের অ্যাডমব SDK আলাদা ভাবে থাকলেও এখন তা ফায়ারবেজ এর সাথে ইন্ট্রিগ্রেটেড। তাই এখন আর আগের মত অ্যাডমব ব্যবহার করা যাবে না। এছাড়া Admob SDK 6.4.1 এবং এর আগের ভার্সন গুলো সেপ্টেম্বর থেকে ডেপ্রিকেট করে দিবে। গুগল রিকমেন্ড করে Admob SDK 7 অথবা তার উপরের ভার্সন গুলো ব্যবহার করতে। এখন লেটেস্ট ভার্সন হচ্ছে 9.2.1 আর তা ব্যবহার করতে হলে আপনাকে অবশ্যই Firebase সহ ব্যবহার করতে হবে।
এখানে দেখাবো কিভাবে ফায়ারবেজ এডমব ব্যবহার করে একটা ব্যানার এড দেখানো যায়। এ লেখাটি বলা যায় Admob Get Started in Android লেখাটির বাংলা ভার্সন। ঐখানে ইমেজ দিয়ে স্টেপ বাই স্টেপ দেখানো রয়েছে। আমি শুধু দরকারি স্টেপ গুলো নিয়েই লিখছি।
প্রথমে আমরা অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে একটা প্রজেক্ট তৈরি করব। বিস্তারিত জানতে চাইলে এই লেখাটি দেখা যেতে পারেঃ অ্যান্ড্রয়েড এপলিকেশন তৈরির গাইড লাইন। এর পর আমাদের ফায়ারবেজ কনসোলে একটা প্রজেক্ট তৈরি করতে হবে। তা সম্পর্কে বিস্তারিত জানা যাবে অ্যান্ড্রয়েড প্রজেক্টে গুগলে ফায়ারবেজ যুক্ত করা লেখাটিতে। ফায়ারবেজ প্রজেক্ট তৈরি করলে আমরা একটা ফাইল পাবো google-services.json নামে। ঐটা আমরা কপি করে আমাদের প্রজেক্টের App ফোল্ডারে পেস্ট করব।
অনেক গুলো কাজ শেষ! এবার প্রথমে প্রজেক্ট লেভেল গ্রেডেল ফাইলে গুগল সার্ভিসের ক্লাসপাথটা যুক্ত করতে হবে। এটাঃ classpath ‘com.google.gms:google-services:3.0.0’ এখানের ভার্সনটা প্রতিনিয়ত আপডেট হবে। তাই আপডেটেডটা ব্যবহার করতে হবে। নিচের ছবিটি দেখতে পারিঃ
এবার অ্যাপ লেভেল গ্রেডেল ফাইলে Dependency হিসেবে নিচের লাইনটি যুক্ত করিঃ
compile 'com.google.firebase:firebase-ads:9.2.1'
এবং নিচের লাইনটি ফাইলের একবারে উপড়ে বা একবারে নিচে যুক্ত করতে হবে।
apply plugin: ‘com.google.gms.google-services’,
এতটুকু করে অ্যাপটি সিঙ্ক করে নিব।
string.xml ফাইলে নিচের রিসোর্সটি যুক্ত করবঃ
<string name="banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string>
উপরের আইডিটি হবে আপনার এড এর আইডি। activity_main.xml বা যে লেআউটে আপনি এড দেখাতে চাচ্ছেন, সেখানে নিচের এডভিউটি যুক্ত করতে হবেঃ
<com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="@string/banner_ad_unit_id"> </com.google.android.gms.ads.AdView>
যেমন activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/main" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> <com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="@string/banner_ad_unit_id"> </com.google.android.gms.ads.AdView> </RelativeLayout>
উপরের কোড পেস্ট করার পর ads এ error দেখাবে। ads এর উপর মাউস নিয়ে alter + enter কী প্রেস করলে activity_main.xml ফাইলে xmlns:ads=”http://schemas.android.com/apk/res-auto” এটা যুক্ত হবে। তাহলেই সমস্যাটা চলে যাবে।
AndroidManifest.xml এ ইন্টারনেট পারমিশন যুক্ত করবঃ
<uses-permission android:name="android.permission.INTERNET" />
এবার MainActivity.java ফাইল থেকে এড লোড করব। এড লোড করতেঃ
AdView mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest);
সম্পূর্ণ MainActivity.java:
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; import com.google.android.gms.ads.MobileAds; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AdView mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); } }
এখন যদি অ্যাপটা রান করি, তাহলে আমরা আমাদের অ্যাপে এড দেখতে পাবো।
অনেক দরকারি একটা লিখা। কিন্তু
অনেক দরকারি একটা লিখা। কিন্তু ভাই আমার একটা সমস্যা হচ্ছে কোনভাবেই AdView ক্লাস টা import করতে পারতেছিনা। যদি একটু হেল্প করতেন।
Google Service Plugin টা ঠিক মত যুক্ত হয়েছে কিনা একটু দেখুন।
থ্যাংকিউ ভাই, ক্লাস তো ইমপোর্ট হইছে। বাট এড শো করতেছে না, হুবুহু আপনার দেখানো নিয়মে করার পরও। আর ভাই অ্যাপ লেভেল গ্রেডেল এরকম:
dependencies {
compile fileTree(include: [‘*.jar’], dir: ‘libs’)
testCompile ‘junit:junit:4.12’
compile ‘com.android.support:appcompat-v7:24.1.1’
compile ‘com.android.support:design:24.1.1’
compile ‘com.android.support:support-v4:24.1.1’
compile ‘com.google.firebase:firebase-core:9.2.1’
compile ‘com.firebase:firebase-client-android:2.3.1’
compile ‘com.google.android.gms:play-services-ads:9.2.1’
}
আর প্রজেক্ট গ্রেজেল ফাইল:
dependencies {
classpath ‘com.android.tools.build:gradle:2.1.2’
classpath ‘com.google.gms:google-services:3.0.0’
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
এটা কি ভাই ঠিক আছে ? দেখেন তো একটু। কোন জায়গায় প্রভলেম হচ্ছে কিছুই বুঝতে পারতেছিনা।