কাস্টম ইভেন্টের মাধ্যমে আপনি এমন বিজ্ঞাপন নেটওয়ার্কের জন্য ওয়াটারফল মেডিটেশন যোগ করতে পারবেন যা কাজ করে এমন বিজ্ঞাপন নেটওয়ার্ক নয়। আপনি যে বিজ্ঞাপন নেটওয়ার্ক ইন্টিগ্রেট করতে চান সেটির জন্য কাস্টম ইভেন্ট অ্যাডাপ্টার প্রয়োগ করে এটি করতে পারেন।
আমাদের GitHub রেপো-তে আপনি সম্পূর্ণ নমুনা কাস্টম ইভেন্ট প্রোজেক্ট দেখতে পাবেন।
পূর্বশর্ত
কাস্টম ইভেন্ট তৈরি করার আগে, আপনাকে অবশ্যই নিজের অ্যাপে নিম্নলিখিত বিজ্ঞাপন ফর্ম্যাটের মধ্যে একটি ইন্টিগ্রেট করতে হবে:
UI-তে কাস্টম ইভেন্ট তৈরি করা
AdMob UI-তে প্রথমে কাস্টম ইভেন্ট তৈরি করতে হবে। কাস্টম ইভেন্ট যোগ করুন লিঙ্কে দেওয়া নির্দেশাবলী দেখুন।
আপনাকে নিম্নলিখিত তথ্য দিতে হবে:
- ক্লাসের নাম
কাস্টম ইভেন্ট অ্যাডাপ্টার প্রয়োগ করে এমন ক্লাসের সম্পূর্ণ নাম—যেমন,
SampleCustomEvent; অথবা আপনার ক্লাস Swift-এ প্রয়োগ করা হলে,MediationExample.SampleCustomEventSwift.আপনার প্রোজেক্টে একাধিক টার্গেট থাকলে অথবা প্রোজেক্টের নাম ও টার্গেটের নাম আলাদা হলে টার্গেটের নাম প্রয়োজনীয়। টার্গেটের নাম সহ, এটি এইরকম দেখতে হবে:
appName_targetName.className. এছাড়াও, মনে রাখবেন যে ড্যাশের মতো বর্ণসাংখ্যিক অক্ষর নয় এমন অক্ষরগুলিকে আন্ডারস্কোর দিয়ে পরিবর্তন করতে হবে। উদাহরণ.- লেবেল
বিজ্ঞাপন সোর্সকে সংজ্ঞায়িত করে এমন একটি অনন্য নাম।
- প্যারামিটার
আপনার কাস্টম ইভেন্ট অ্যাডাপ্টরে পাস করা একটি ঐচ্ছিক স্ট্রিং আর্গুমেন্ট।
GADMediationAdapter প্রয়োগ করা
কাস্টম ইভেন্ট তৈরি করার প্রথম ধাপ হল
GADMediationAdapter প্রোটোকল প্রয়োগ করা, যা আমাদের উদাহরণে SampleCustomEvent ক্লাস
দ্বারা দেখানো হয়েছে।
AdMob থেকে মেসেজ পাওয়া এবং সঠিক বিজ্ঞাপন ফর্ম্যাট তৈরি করার দায়িত্ব এই ক্লাসের।
অ্যাডাপ্টার ইনিশিয়ালাইজ করা
Google Mobile Ads SDK শুরু হলে,
AdMob UI-এর মধ্যে অ্যাপের জন্য কনফিগার করা
সব কাজ করে এমন থার্ড-পার্টি অ্যাডাপ্টার ও কাস্টম ইভেন্টে setUpWithConfiguration:completionHandler:
কল করা হয়। আপনার কাস্টম ইভেন্টের জন্য
প্রয়োজনীয় থার্ড-পার্টি SDK-তে
প্রয়োজনীয় সেট-আপ বা ইনিশিয়ালাইজেশন পারফর্ম করতে এই পদ্ধতি ব্যবহার করুন।
Swift
import GoogleMobileAds
class SampleCustomEvent: NSObject, MediationAdapter {
static func setUpWith(
_ configuration: MediationServerConfiguration,
completionHandler: @escaping GADMediationAdapterSetUpCompletionBlock
) {
// This is where you will initialize the SDK that this custom event is built
// for. Upon finishing the SDK initialization, call the completion handler
// with success.
completionHandler(nil)
}
}
Objective-C
#import "SampleCustomEvent.h"
@implementation SampleCustomEvent
+ (void)setUpWithConfiguration:(nonnull GADMediationServerConfiguration *)configuration
completionHandler:(nonnull GADMediationAdapterSetUpCompletionBlock)completionHandler {
// This is where you initialize the SDK that this custom event is built
// for. Upon finishing the SDK initialization, call the completion handler
// with success.
completionHandler(nil);
}
রিপোর্টের ভার্সন নম্বর
সব কাস্টম ইভেন্টকে অবশ্যই Google Mobile Ads SDK কাস্টম ইভেন্ট অ্যাডাপ্টারের
নিজস্ব ভার্সন এবং থার্ড-পার্টি SDK-এর সেই ভার্সন, যার সাথে
কাস্টম ইভেন্ট ইন্টারফেস করে, এই দু'টি ভার্সনেই রিপোর্ট করতে হবে। ভার্সনগুলি
GADVersionNumber
অবজেক্ট হিসেবে রিপোর্ট করা হয়:
Swift
static func adSDKVersion() -> VersionNumber {
let versionComponents = String(SampleSDKVersion).components(
separatedBy: ".")
if versionComponents.count >= 3 {
let majorVersion = Int(versionComponents[0]) ?? 0
let minorVersion = Int(versionComponents[1]) ?? 0
let patchVersion = Int(versionComponents[2]) ?? 0
return VersionNumber(
majorVersion: majorVersion, minorVersion: minorVersion, patchVersion: patchVersion)
}
return VersionNumber()
}
static func adapterVersion() -> VersionNumber {
let versionComponents = String(SampleAdSDK.SampleAdSDKVersionNumber).components(
separatedBy: ".")
var version = VersionNumber()
if versionComponents.count == 4 {
version.majorVersion = Int(versionComponents[0]) ?? 0
version.minorVersion = Int(versionComponents[1]) ?? 0
version.patchVersion = Int(versionComponents[2]) * 100 + Int(versionComponents[3])
}
return version
}
Objective-C
+ (GADVersionNumber)adSDKVersion {
NSArray *versionComponents =
[SampleSDKVersion componentsSeparatedByString:@"."];
GADVersionNumber version = {0};
if (versionComponents.count >= 3) {
version.majorVersion = [versionComponents[0] integerValue];
version.minorVersion = [versionComponents[1] integerValue];
version.patchVersion = [versionComponents[2] integerValue];
}
return version;
}
+ (GADVersionNumber)adapterVersion {
NSArray *versionComponents =
[SampleCustomEventAdapterVersion componentsSeparatedByString:@"."];
GADVersionNumber version = {0};
if (versionComponents.count == 4) {
version.majorVersion = [versionComponents[0] integerValue];
version.minorVersion = [versionComponents[1] integerValue];
version.patchVersion = [versionComponents[2] integerValue] * 100 +
[versionComponents[3] integerValue];
}
return version;
}
বিজ্ঞাপনের অনুরোধ করা
বিজ্ঞাপনের অনুরোধ করতে, বিজ্ঞাপন ফর্ম্যাট অনুযায়ী নির্দিষ্ট নির্দেশাবলী দেখুন: