Zdarzenia niestandardowe umożliwiają dodanie zapośredniczenia kaskadowego w przypadku sieci reklamowej, która nie jest obsługiwana przez AdMob. Aby to zrobić, wdrożyć adapter zdarzenia niestandardowego w przypadku sieci reklamowej, którą chcesz zintegrować.
Wymagania wstępne
Zanim utworzysz zdarzenia niestandardowe, musisz najpierw zintegrować w aplikacji jeden z tych formatów reklam:
Tworzenie zdarzenia niestandardowego w interfejsie
Zdarzenie niestandardowe musisz najpierw utworzyć w interfejsie Ad Managera. Instrukcje znajdziesz w artykule Tworzenie grup zysku i zarządzanie nimi.
Musisz podać te informacje:
- Nazwa zajęć
Pełna nazwa klasy, która implementuje niestandardowy adapter zdarzeń, np.
SampleCustomEvent
; lub jeśli klasa została zaimplementowana w Swift,MediationExample.SampleCustomEventSwift
.Nazwa docelowa jest wymagana, jeśli w projekcie masz wiele docelowych elementów lub jeśli nazwa projektu jest inna niż nazwa docelowego elementu. Nazwa docelowa będzie wyglądać tak:
appName_targetName.className
. Pamiętaj też, aby zastąpić wszystkie znaki inne niż alfanumeryczne, takie jak łączniki, znakami podkreślenia. Przykład:- Etykieta
Unikalna nazwa określająca źródło reklamy.
- Parametr
Opcjonalny ciąg znaków przekazywany do adaptera zdarzenia niestandardowego.
Implementacja klasy GADMediationAdapter
Pierwszym krokiem do utworzenia zdarzenia niestandardowego jest zaimplementowanie protokołu GADMediationAdapter
, jak pokazano w klasie SampleCustomEvent
w naszym przykładzie.
Ta klasa odpowiada za odbieranie wiadomości z Ad Managera i przekazywanie odpowiedzialności za tworzenie prawidłowego formatu reklamy.
Inicjowanie adaptera
Podczas inicjowania pakietu SDK do reklam mobilnych GooglesetUpWithConfiguration:completionHandler:
jest on wywoływany we wszystkich obsługiwanych adapterach zewnętrznych i zdarzeniach niestandardowych skonfigurowanych w aplikacji w interfejsie Ad Managera. Użyj tej metody, aby przeprowadzić niezbędną konfigurację lub inicjowanie wymaganego pakietu SDK innej firmy w przypadku zdarzenia niestandardowego.
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);
}
Numery wersji w raporcie
Wszystkie zdarzenia niestandardowe muszą przekazywać do pakietu SDK do reklam mobilnych Google zarówno wersję samego adaptera zdarzenia niestandardowego, jak i wersję pakietu SDK innej firmy, z którym to zdarzenie się łączy. Wersje są raportowane jakoGADVersionNumber
obiekty:
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 poprosić o reklamę, postępuj zgodnie z instrukcjami dotyczącymi danego formatu reklamy: