কাস্টম ইভেন্টের মাধ্যমে আপনি এমন একটি বিজ্ঞাপন নেটওয়ার্কের জন্য ওয়াটারফল মেডিটেশন যোগ করতে পারবেন যা কোনও সমর্থিত বিজ্ঞাপন নেটওয়ার্ক নয়। আপনি যে বিজ্ঞাপন নেটওয়ার্কটি ইন্টিগ্রেট করতে চান তার জন্য একটি কাস্টম ইভেন্ট অ্যাডাপ্টার প্রয়োগ করে এটি করতে পারেন।
আপনি আমাদের GitHub রেপোতে একটি সম্পূর্ণ নমুনা কাস্টম ইভেন্ট প্রকল্প খুঁজে পেতে পারেন।
পূর্বশর্ত
কাস্টম ইভেন্ট তৈরি করার আগে, আপনাকে প্রথমে আপনার অ্যাপে নিম্নলিখিত বিজ্ঞাপন ফর্ম্যাটগুলির মধ্যে একটি সংহত করতে হবে:
UI তে একটি কাস্টম ইভেন্ট তৈরি করুন
প্রথমে AdMob UI তে একটি কাস্টম ইভেন্ট তৈরি করতে হবে। "একটি কাস্টম ইভেন্ট যোগ করুন" বিভাগে নির্দেশাবলী দেখুন।
আপনাকে নিম্নলিখিতগুলি সরবরাহ করতে হবে:
- ক্লাসের নাম
কাস্টম ইভেন্ট অ্যাডাপ্টার প্রয়োগকারী ক্লাসের সম্পূর্ণ যোগ্যতাসম্পন্ন নাম—উদাহরণস্বরূপ,
SampleCustomEvent; অথবা যদি আপনার ক্লাসটি Swift,MediationExample.SampleCustomEventSwiftএ প্রয়োগ করা হয়।আপনার প্রোজেক্টে যদি একাধিক টার্গেট থাকে অথবা প্রোজেক্টের নাম টার্গেট নামের থেকে আলাদা হয়, তাহলে টার্গেটের নাম প্রয়োজন। টার্গেট নামের সাথে এটি দেখতে এরকম হবে:
appName_targetName.className। এছাড়াও, ড্যাশের মতো যেকোনো অ-বর্ণানুক্রমিক অক্ষরের পরিবর্তে আন্ডারস্কোর ব্যবহার করতে ভুলবেন না। উদাহরণ .- লেবেল
বিজ্ঞাপনের উৎস নির্ধারণকারী একটি অনন্য নাম।
- প্যারামিটার
আপনার কাস্টম ইভেন্ট অ্যাডাপ্টারে একটি ঐচ্ছিক স্ট্রিং আর্গুমেন্ট পাঠানো হয়েছে।
GADMediationAdapter বাস্তবায়ন করুন
একটি কাস্টম ইভেন্ট তৈরির প্রথম ধাপ হল GADMediationAdapter প্রোটোকল বাস্তবায়ন করা, যেমনটি আমাদের উদাহরণে SampleCustomEvent ক্লাসে দেখানো হয়েছে।
এই শ্রেণীর দায়িত্ব হল AdMob থেকে বার্তা গ্রহণ করা এবং সঠিক বিজ্ঞাপন ফর্ম্যাট তৈরির দায়িত্ব অর্পণ করা।
অ্যাডাপ্টারটি আরম্ভ করুন
যখন Google Mobile Ads SDK শুরু হয়, তখন AdMob UI এর মধ্যে অ্যাপের জন্য কনফিগার করা সমস্ত সমর্থিত তৃতীয় পক্ষের অ্যাডাপ্টার এবং কাস্টম ইভেন্টগুলিতে setUpWithConfiguration:completionHandler: চালু হয়। আপনার কাস্টম ইভেন্টের জন্য প্রয়োজনীয় তৃতীয় পক্ষের SDK-তে যেকোনো প্রয়োজনীয় সেটআপ বা শুরু করার জন্য এই পদ্ধতিটি ব্যবহার করুন।
সুইফট
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)
}
}
অবজেক্টিভ-সি
#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);
}
সংস্করণ নম্বরগুলি রিপোর্ট করুন
সমস্ত কাস্টম ইভেন্টকে অবশ্যই কাস্টম ইভেন্ট অ্যাডাপ্টারের সংস্করণ এবং তৃতীয় পক্ষের SDK এর সংস্করণ, যার সাথে কাস্টম ইভেন্ট ইন্টারফেস রয়েছে, উভয়ই Google মোবাইল বিজ্ঞাপন SDK-তে রিপোর্ট করতে হবে। সংস্করণগুলিকে GADVersionNumber অবজেক্ট হিসাবে রিপোর্ট করা হয়:
সুইফট
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
}
অবজেক্টিভ-সি
+ (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;
}
অনুরোধ বিজ্ঞাপন
একটি বিজ্ঞাপনের অনুরোধ করতে, বিজ্ঞাপনের ফর্ম্যাটের সাথে সম্পর্কিত নির্দেশাবলী পড়ুন: