এই নির্দেশিকা আপনাকে দেখায় কিভাবে আপনার অ্যান্ড্রয়েড অ্যাপের সাথে একটি মধ্যস্থতা অ্যাডাপ্টার সংহত করতে হয়।
পূর্বশর্ত
আপনি একটি বিজ্ঞাপন বিন্যাসের জন্য মধ্যস্থতা সংহত করার আগে, আপনাকে সেই বিজ্ঞাপন বিন্যাসটিকে আপনার অ্যাপে সংহত করতে হবে:
- ব্যানার বিজ্ঞাপন
- ইন্টারস্টিশিয়াল বিজ্ঞাপন
- নেটিভ বিজ্ঞাপন
- পুরস্কৃত বিজ্ঞাপন
- পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপন
মধ্যস্থতায় নতুন? মধ্যস্থতার ভূমিকা পড়ুন।
বিডিংয়ের জন্য: Google মোবাইল বিজ্ঞাপন SDK 18.3.0 বা উচ্চতর।
মোবাইল বিজ্ঞাপন SDK শুরু করুন
দ্রুত শুরু নির্দেশিকা আপনাকে দেখায় কিভাবে মোবাইল বিজ্ঞাপন SDK শুরু করতে হয় । সেই প্রারম্ভিক কলের সময়, মধ্যস্থতা অ্যাডাপ্টারগুলিও শুরু হয়। প্রথম বিজ্ঞাপন অনুরোধে প্রতিটি বিজ্ঞাপন নেটওয়ার্ক থেকে সম্পূর্ণ অংশগ্রহণ নিশ্চিত করার জন্য আপনি বিজ্ঞাপন লোড করার আগে শুরু করার জন্য অপেক্ষা করা গুরুত্বপূর্ণ।
নিচের নমুনা কোডটি দেখায় যে আপনি কীভাবে বিজ্ঞাপনের অনুরোধ করার আগে প্রতিটি অ্যাডাপ্টারের আরম্ভ করার স্থিতি পরীক্ষা করতে পারেন।
জাভা
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
initializationStatus -> {
Map<String, AdapterStatus> statusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : statusMap.keySet()) {
AdapterStatus status = statusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
// Start loading ads here...
}))
.start();
}
}
কোটলিন
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { initializationStatus ->
val statusMap =
initializationStatus.adapterStatusMap
for (adapterClass in statusMap.keys) {
val status = statusMap[adapterClass]
Log.d(
"MyApp", String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status!!.description, status.latency
)
)
}
// Start loading ads here...
}
}
}
}
কোন বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার ক্লাস বিজ্ঞাপন লোড করেছে তা পরীক্ষা করুন
এখানে কিছু নমুনা কোড রয়েছে যা একটি ব্যানার বিজ্ঞাপনের জন্য বিজ্ঞাপন নেটওয়ার্ক শ্রেণীর নাম লগ করে:
জাভা
public void onAdLoaded() {
Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
কোটলিন
override fun onAdLoaded() {
Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}
এই পদ্ধতি সম্পর্কে বিস্তারিত জানার জন্য getMediationAdapterClassName()
এ ResponseInfo
ডকুমেন্টেশন পড়ুন।
একটি কার্যকলাপ উদাহরণ দিয়ে আপনার বিজ্ঞাপন বস্তু শুরু করুন
একটি নতুন বিজ্ঞাপন অবজেক্টের কনস্ট্রাক্টরে (উদাহরণস্বরূপ, AdManagerAdView
), আপনাকে অবশ্যই Context
টাইপের একটি অবজেক্টে পাস করতে হবে। মধ্যস্থতা ব্যবহার করার সময় এই Context
অন্যান্য বিজ্ঞাপন নেটওয়ার্কগুলিতে প্রেরণ করা হয়৷ কিছু বিজ্ঞাপন নেটওয়ার্কের জন্য আরও সীমাবদ্ধ Context
প্রয়োজন যেটি Activity
ধরণের এবং একটি Activity
উদাহরণ ছাড়া বিজ্ঞাপন পরিবেশন করতে সক্ষম নাও হতে পারে। তাই, আপনার মধ্যস্থতা করা বিজ্ঞাপন নেটওয়ার্কগুলির সাথে সামঞ্জস্যপূর্ণ অভিজ্ঞতা নিশ্চিত করার জন্য বিজ্ঞাপন অবজেক্টগুলি শুরু করার সময় আমরা একটি Activity
উদাহরণে পাস করার পরামর্শ দিই।
মধ্যস্থতা সঙ্গে ব্যানার বিজ্ঞাপন ব্যবহার করুন
মধ্যস্থতায় ব্যবহৃত ব্যানার বিজ্ঞাপন ইউনিটগুলির জন্য সমস্ত তৃতীয়-পক্ষ বিজ্ঞাপন উত্স UI-তে রিফ্রেশ অক্ষম করা নিশ্চিত করুন। এটি একটি ডবল রিফ্রেশকে বাধা দেয় যেহেতু অ্যাড ম্যানেজার আপনার ব্যানার বিজ্ঞাপন ইউনিটের রিফ্রেশ হারের উপর ভিত্তি করে একটি রিফ্রেশ ট্রিগার করে।
মধ্যস্থতা সহ নেটিভ বিজ্ঞাপন ব্যবহার করুন
নেটিভ মধ্যস্থতা বাস্তবায়ন করার সময় বিবেচনা করার জন্য নিম্নলিখিত কিছু সেরা অনুশীলনগুলি রয়েছে৷
- নেটিভ বিজ্ঞাপন উপস্থাপনা নীতি
- প্রতিটি বিজ্ঞাপন নেটওয়ার্কের নিজস্ব নীতি আছে। মধ্যস্থতা ব্যবহার করার সময়, এটি মনে রাখা গুরুত্বপূর্ণ যে আপনার অ্যাপটিকে এখনও বিজ্ঞাপন প্রদানকারী মধ্যস্থতাকারী নেটওয়ার্কের নীতিগুলি মেনে চলতে হবে৷
-
loadAd()
এর পরিবর্তে loadAdloadAds()
ব্যবহার করুন -
loadAds()
পদ্ধতি শুধুমাত্র Google বিজ্ঞাপন পরিবেশন করে। মধ্যস্থতামূলক বিজ্ঞাপনের জন্য, পরিবর্তেloadAd()
ব্যবহার করুন।
মার্কিন যুক্তরাষ্ট্রের গোপনীয়তা আইন এবং জিডিপিআর
আপনি যদি মার্কিন যুক্তরাষ্ট্রের গোপনীয়তা আইন বা জেনারেল ডেটা প্রোটেকশন রেগুলেশন (GDPR) মেনে চলতে চান, তাহলে Ad Manager Privacy & Messaging-এর US রাজ্য বা GDPR বিজ্ঞাপন অংশীদারদের তালিকায় আপনার মধ্যস্থতা অংশীদারদের যোগ করতে মার্কিন রাজ্যের প্রবিধান সেটিংস বা GDPR সেটিংসের ধাপগুলি অনুসরণ করুন। এটি করতে ব্যর্থ হলে অংশীদাররা আপনার অ্যাপে বিজ্ঞাপন পরিবেশন করতে ব্যর্থ হতে পারে।
সীমাবদ্ধ ডেটা প্রসেসিং (RDP) সক্ষম করা এবং Google ব্যবহারকারী মেসেজিং প্ল্যাটফর্ম (UMP) SDK-এর সাথে GDPR সম্মতি পাওয়ার বিষয়ে আরও জানুন। ,এই নির্দেশিকা আপনাকে দেখায় কিভাবে আপনার অ্যান্ড্রয়েড অ্যাপের সাথে একটি মধ্যস্থতা অ্যাডাপ্টার সংহত করতে হয়।
পূর্বশর্ত
আপনি একটি বিজ্ঞাপন বিন্যাসের জন্য মধ্যস্থতা সংহত করার আগে, আপনাকে সেই বিজ্ঞাপন বিন্যাসটিকে আপনার অ্যাপে সংহত করতে হবে:
- ব্যানার বিজ্ঞাপন
- ইন্টারস্টিশিয়াল বিজ্ঞাপন
- নেটিভ বিজ্ঞাপন
- পুরস্কৃত বিজ্ঞাপন
- পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপন
মধ্যস্থতায় নতুন? মধ্যস্থতার ভূমিকা পড়ুন।
বিডিংয়ের জন্য: Google মোবাইল বিজ্ঞাপন SDK 18.3.0 বা উচ্চতর।
মোবাইল বিজ্ঞাপন SDK শুরু করুন
দ্রুত শুরু নির্দেশিকা আপনাকে দেখায় কিভাবে মোবাইল বিজ্ঞাপন SDK শুরু করতে হয় । সেই প্রারম্ভিক কলের সময়, মধ্যস্থতা অ্যাডাপ্টারগুলিও শুরু হয়। প্রথম বিজ্ঞাপন অনুরোধে প্রতিটি বিজ্ঞাপন নেটওয়ার্ক থেকে সম্পূর্ণ অংশগ্রহণ নিশ্চিত করার জন্য আপনি বিজ্ঞাপন লোড করার আগে শুরু করার জন্য অপেক্ষা করা গুরুত্বপূর্ণ।
নিচের নমুনা কোডটি দেখায় যে আপনি কীভাবে বিজ্ঞাপনের অনুরোধ করার আগে প্রতিটি অ্যাডাপ্টারের আরম্ভ করার স্থিতি পরীক্ষা করতে পারেন।
জাভা
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
initializationStatus -> {
Map<String, AdapterStatus> statusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : statusMap.keySet()) {
AdapterStatus status = statusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
// Start loading ads here...
}))
.start();
}
}
কোটলিন
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { initializationStatus ->
val statusMap =
initializationStatus.adapterStatusMap
for (adapterClass in statusMap.keys) {
val status = statusMap[adapterClass]
Log.d(
"MyApp", String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status!!.description, status.latency
)
)
}
// Start loading ads here...
}
}
}
}
কোন বিজ্ঞাপন নেটওয়ার্ক অ্যাডাপ্টার ক্লাস বিজ্ঞাপন লোড করেছে তা পরীক্ষা করুন
এখানে কিছু নমুনা কোড রয়েছে যা একটি ব্যানার বিজ্ঞাপনের জন্য বিজ্ঞাপন নেটওয়ার্ক শ্রেণীর নাম লগ করে:
জাভা
public void onAdLoaded() {
Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
কোটলিন
override fun onAdLoaded() {
Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}
এই পদ্ধতি সম্পর্কে বিস্তারিত জানার জন্য getMediationAdapterClassName()
এ ResponseInfo
ডকুমেন্টেশন পড়ুন।
একটি কার্যকলাপ উদাহরণ দিয়ে আপনার বিজ্ঞাপন বস্তু শুরু করুন
একটি নতুন বিজ্ঞাপন অবজেক্টের কনস্ট্রাক্টরে (উদাহরণস্বরূপ, AdManagerAdView
), আপনাকে অবশ্যই Context
টাইপের একটি অবজেক্টে পাস করতে হবে। মধ্যস্থতা ব্যবহার করার সময় এই Context
অন্যান্য বিজ্ঞাপন নেটওয়ার্কগুলিতে প্রেরণ করা হয়৷ কিছু বিজ্ঞাপন নেটওয়ার্কের জন্য আরও সীমাবদ্ধ Context
প্রয়োজন যেটি Activity
ধরণের এবং একটি Activity
উদাহরণ ছাড়া বিজ্ঞাপন পরিবেশন করতে সক্ষম নাও হতে পারে। তাই, আপনার মধ্যস্থতা করা বিজ্ঞাপন নেটওয়ার্কগুলির সাথে সামঞ্জস্যপূর্ণ অভিজ্ঞতা নিশ্চিত করার জন্য বিজ্ঞাপন অবজেক্টগুলি শুরু করার সময় আমরা একটি Activity
উদাহরণে পাস করার পরামর্শ দিই।
মধ্যস্থতা সঙ্গে ব্যানার বিজ্ঞাপন ব্যবহার করুন
মধ্যস্থতায় ব্যবহৃত ব্যানার বিজ্ঞাপন ইউনিটগুলির জন্য সমস্ত তৃতীয়-পক্ষ বিজ্ঞাপন উত্স UI-তে রিফ্রেশ অক্ষম করা নিশ্চিত করুন। এটি একটি ডবল রিফ্রেশকে বাধা দেয় যেহেতু অ্যাড ম্যানেজার আপনার ব্যানার বিজ্ঞাপন ইউনিটের রিফ্রেশ হারের উপর ভিত্তি করে একটি রিফ্রেশ ট্রিগার করে।
মধ্যস্থতা সহ নেটিভ বিজ্ঞাপন ব্যবহার করুন
নেটিভ মধ্যস্থতা বাস্তবায়ন করার সময় বিবেচনা করার জন্য নিম্নলিখিত কিছু সেরা অনুশীলনগুলি রয়েছে৷
- নেটিভ বিজ্ঞাপন উপস্থাপনা নীতি
- প্রতিটি বিজ্ঞাপন নেটওয়ার্কের নিজস্ব নীতি আছে। মধ্যস্থতা ব্যবহার করার সময়, এটি মনে রাখা গুরুত্বপূর্ণ যে আপনার অ্যাপটিকে এখনও বিজ্ঞাপন প্রদানকারী মধ্যস্থতাকারী নেটওয়ার্কের নীতিগুলি মেনে চলতে হবে৷
-
loadAd()
এর পরিবর্তে loadAdloadAds()
ব্যবহার করুন -
loadAds()
পদ্ধতি শুধুমাত্র Google বিজ্ঞাপন পরিবেশন করে। মধ্যস্থতামূলক বিজ্ঞাপনের জন্য, পরিবর্তেloadAd()
ব্যবহার করুন।
মার্কিন যুক্তরাষ্ট্রের গোপনীয়তা আইন এবং জিডিপিআর
আপনি যদি মার্কিন যুক্তরাষ্ট্রের গোপনীয়তা আইন বা জেনারেল ডেটা প্রোটেকশন রেগুলেশন (GDPR) মেনে চলতে চান, তাহলে Ad Manager Privacy & Messaging-এর US রাজ্য বা GDPR বিজ্ঞাপন অংশীদারদের তালিকায় আপনার মধ্যস্থতা অংশীদারদের যোগ করতে মার্কিন রাজ্যের প্রবিধান সেটিংস বা GDPR সেটিংসের ধাপগুলি অনুসরণ করুন। এটি করতে ব্যর্থ হলে অংশীদাররা আপনার অ্যাপে বিজ্ঞাপন পরিবেশন করতে ব্যর্থ হতে পারে।
সীমাবদ্ধ ডেটা প্রসেসিং (RDP) সক্ষম করা এবং Google ব্যবহারকারী মেসেজিং প্ল্যাটফর্ম (UMP) SDK-এর সাথে GDPR সম্মতি পাওয়ার বিষয়ে আরও জানুন।