Zdarzenia niestandardowe umożliwiają dodawanie zapośredniczenia kaskadowego w przypadku sieci reklamowej, która nie jest obsługiwana. Aby to zrobić, zaimplementuj adapter zdarzenia niestandardowego w sieci reklamowej, którą chcesz zintegrować.
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 Ad Managerinterfejsie użytkownika. Instrukcje znajdziesz w sekcji Tworzenie grup zysku i zarządzanie nimi.
Musisz podać:
- Nazwa zajęć
Pełna nazwa klasy, która implementuje adapter zdarzeń niestandardowych, na przykład
SampleCustomEvent
lub jeśli klasa jest zaimplementowana w komponencie Swift,MediationExample.SampleCustomEventSwift
.Nazwa celu jest wymagana, jeśli w projekcie masz wiele celów lub jeśli nazwa projektu różni się od nazwy celu. Nazwa elementu docelowego wyglądałaby tak:
appName_targetName.className
. Pamiętaj też, by zastąpić znaki inne niż alfanumeryczne, takie jak łączniki, podkreśleniami. Przykład.- Wytwórnia
Niepowtarzalna nazwa definiująca źródło reklam.
- Parametr
Opcjonalny argument w postaci ciągu znaków przekazywany do adaptera zdarzeń niestandardowych.
Implementacja GADMediationAdapter
Pierwszym krokiem do utworzenia zdarzenia niestandardowego jest zaimplementowanie protokołu GADMediationAdapter
, jak przedstawia klasę SampleCustomEvent
w naszym przykładzie.
Obowiązkiem tych zajęć jest otrzymywanie wiadomości z adresuAd Manager oraz przekazanie obowiązków tworzenia właściwego formatu reklam.
Zainicjuj adapter
Po zainicjowaniu pakietu SDK do reklam mobilnych Google wywoływane jest
setUpWithConfiguration:completionHandler:
w przypadku wszystkich obsługiwanych adapterów zewnętrznych i zdarzeń niestandardowych skonfigurowanych na potrzeby aplikacji w interfejsie Ad Manager . Korzystając z tej metody, możesz przeprowadzić konfigurację lub zainicjowanie wymaganego zewnętrznego pakietu SDK na potrzeby 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);
}
Raportowanie numerów wersji
Wszystkie zdarzenia niestandardowe muszą być zgłaszane do pakietu SDK do reklam mobilnych Google zarówno w przypadku wersji adaptera zdarzeń niestandardowych, jak i wersji pakietu SDK firmy zewnętrznej, z którą łączy się zdarzenie niestandardowe. Wersje są raportowane 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;
}
Wyślij żądanie reklamy
Aby poprosić o reklamę, zapoznaj się z instrukcjami dotyczącymi danego formatu reklamy: