Zdarzenia niestandardowe umożliwiają dodawanie zapośredniczenia kaskadowego w przypadku sieci reklamowej, która nie jest obsługiwana. Możesz to zrobić, implementując adapter zdarzeń niestandardowych w sieci reklamowej, którą chcesz zintegrować.
Pełny przykładowy projekt zdarzenia niestandardowego znajdziesz w naszym repozytorium GitHub.
Wymagania wstępne
Zanim utworzysz zdarzenia niestandardowe, musisz zintegrować ze swoją aplikacją jeden z tych formatów reklamy:
Tworzenie zdarzenia niestandardowego w interfejsie
Zdarzenie niestandardowe należy najpierw utworzyć w AdMobinterfejsie Instrukcje znajdziesz w sekcji Dodawanie zdarzenia niestandardowego.
Potrzebujemy:
- Nazwa zajęć
Pełna nazwa klasy, która implementuje adapter zdarzeń niestandardowych, np.
SampleCustomEvent
lub, jeśli klasa jest zaimplementowana w języku Swift,MediationExample.SampleCustomEventSwift
.Nazwa celu jest wymagana, jeśli w projekcie masz wiele środowisk docelowych lub jeśli nazwa projektu różni się od nazwy projektu. Docelowa nazwa wygląda tak:
appName_targetName.className
. Pamiętaj też o zastąpieniu znaków innych niż alfanumeryczne, np. myślników, znakami podkreślenia. Przykład.- Etykieta
Niepowtarzalna nazwa definiująca źródło reklam.
- Parametr
Opcjonalny argument w postaci ciągu znaków przekazywany do adaptera zdarzeń niestandardowych.
Implementowanie GADMediationAdapter
Pierwszym krokiem do utworzenia zdarzenia niestandardowego jest zaimplementowanie protokołu GADMediationAdapter
wskazanego przez klasę SampleCustomEvent
w naszym przykładzie.
Ich obowiązkiem jest odbieranie wiadomości odAdMob oraz delegowanie odpowiedzialności za tworzenie właściwego formatu reklam.
Zainicjuj adapter
Po zainicjowaniu pakietu SDK do reklam mobilnych Google następuje wywołanie
setUpWithConfiguration:completionHandler:
w przypadku wszystkich obsługiwanych adapterów zewnętrznych i zdarzeń niestandardowych skonfigurowanych na potrzeby aplikacji w interfejsie AdMob . Korzystając z tej metody, możesz przeprowadzić konfigurację lub zainicjowanie określonego zdarzenia niestandardowego w wymaganym pakiecie SDK innej firmy.
Swift
import GoogleMobileAds class SampleCustomEvent: NSObject, GADMediationAdapter { static func setUpWith( _ configuration: GADMediationServerConfiguration, 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); }
Zgłoś numery wersji
Wszystkie zdarzenia niestandardowe muszą raportować do pakietu SDK do reklam mobilnych Google zarówno wersję samego adaptera zdarzeń niestandardowych, jak i wersję tego pakietu SDK firmy zewnętrznej, z którą korzysta się zdarzenie niestandardowe. Wersje są zgłaszane jako obiekty
GADVersionNumber
:
Swift
static func adSDKVersion() -> GADVersionNumber { 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 GADVersionNumber( majorVersion: majorVersion, minorVersion: minorVersion, patchVersion: patchVersion) } return GADVersionNumber() } static func adapterVersion() -> GADVersionNumber { let versionComponents = String(SampleAdSDK.SampleAdSDKVersionNumber).components( separatedBy: ".") var version = GADVersionNumber() 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; }
Żądanie reklamy
Aby wysłać żądanie reklamy, zapoznaj się z instrukcjami dotyczącymi konkretnego formatu reklamy: