Zdarzenia niestandardowe umożliwiają dodanie zapośredniczenia kaskadowego w przypadku sieci reklamowej, która nie jest obsługiwaną siecią reklamową. Aby to zrobić, musisz wdrożyć adapter zdarzenia niestandardowego w przypadku sieci reklamowej, którą chcesz zintegrować.
Wymagania wstępne
Zanim utworzysz zdarzenia niestandardowe, musisz zintegrować z aplikacją jeden z tych formatów reklam:
Tworzenie zdarzenia niestandardowego w interfejsie
Zdarzenie niestandardowe trzeba najpierw utworzyć w interfejsie Ad Managera. Postępuj zgodnie z instrukcjami w artykule Tworzenie grup zysku i zarządzanie nimi.
Musisz podać te informacje:
- Nazwa zajęć
Pełna nazwa klasy, która implementuje adapter zdarzenia niestandardowego , np.
SampleCustomEvent. Jeśli klasa została zaimplementowana w kodzie Swift,MediationExample.SampleCustomEventSwift.Jeśli w projekcie masz wiele celów lub nazwa projektu różni się od nazwy celu, musisz podać nazwę celu. W takim przypadku nazwa będzie wyglądać tak:
appName_targetName.className. Pamiętaj też, aby zastąpić wszystkie znaki niealfanumeryczne, np. myślniki, znakami podkreślenia. Przykład.- Etykieta
Unikalna nazwa określająca źródło reklam.
- Parametr
Opcjonalny argument w postaci ciągu znaków przekazywany do adaptera zdarzenia niestandardowego.
Implementowanie GADMediationAdapter
Pierwszym krokiem do utworzenia zdarzenia niestandardowego jest zaimplementowanie protokołu
GADMediationAdapter, jak pokazano w klasie SampleCustomEvent
w naszym przykładzie.
Ta klasa jest odpowiedzialna za odbieranie wiadomości z Ad Managera i przekazanie obowiązków tworzenia prawidłowego formatu reklamy.
Inicjowanie adaptera
Gdy Google Mobile Ads SDK się inicjuje,
setUpWithConfiguration:completionHandler:
jest wywoływana w przypadku wszystkich obsługiwanych adapterów firm zewnętrznych i zdarzeń niestandardowych skonfigurowanych
w aplikacji w interfejsie Ad Managera. Użyj tej metody, aby przeprowadzić niezbędną konfigurację lub inicjację wymaganego pakietu SDK firmy zewnętrznej na potrzeby zdarzenia niestandardowego.
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);
}
Numery wersji raportu
Wszystkie zdarzenia niestandardowe muszą zgłaszać do Google Mobile Ads SDK zarówno wersję
samego adaptera zdarzenia niestandardowego, jak i wersję pakietu SDK firmy zewnętrznej, z którym współpracuje
zdarzenie niestandardowe. Wersje są zgłaszane jako
GADVersionNumber
obiekty:
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;
}
Żądanie reklamy
Aby wysłać żądanie reklamy, postępuj zgodnie z instrukcjami dotyczącymi formatu reklamy: