Gdy nastąpi wyświetlenie reklamy, pakiet SDK do reklam mobilnych Google wywołuje metodę obsługi zdarzeń płatnych z powiązanymi danymi o przychodach. Dzięki wdrożeniu tego modułu obsługi możesz używać danych do obliczania wartości użytkowników od początku śledzenia lub przekazywać je do innych odpowiednich systemów.
Ten przewodnik ma Ci pomóc w wdrożeniu rejestrowania danych o wartości od początku śledzenia w aplikacji na iOS.
Wymagania wstępne
- Upewnij się, że w interfejsie AdMob włączyłeś(-aś) funkcję przychodów z reklam na poziomie wyświetleń.
- Zaimportuj pakiet SDK do reklam mobilnych Google w wersji 9.10.0 lub nowszej.
- Zapoznaj się z przewodnikiem dla początkujących.
Aby otrzymywać przychody z reklam na poziomie wyświetleń, musisz zaimplementować co najmniej 1 format reklamy:
Wdrażanie płatnego modułu obsługi zdarzeń
Każdy format reklamy ma właściwość paidEventHandler
typu GADPaidEventHandler
.
W trakcie cyklu życia zdarzenia reklamy pakiet SDK do reklam mobilnych Google monitoruje zdarzenia wyświetleń i wywołuje moduł obsługi z wartością zarobioną.
Swift
class ViewController: UIViewController, GADFullScreenContentDelegate {
var rewardedAd: GADRewardedAd?
func requestRewardedAd() {
GADRewardedAd.load(
withAdUnitID: "AD_UNIT_ID", request: GADRequest()
) { (ad, error) in
if let error = error {
print("Rewarded ad failed to load with error: \(error.localizedDescription)")
return
}
if let ad = ad {
self.rewardedAd = ad
self.rewardedAd?.paidEventHandler = { adValue in
// TODO: Send the impression-level ad revenue information to your preferred analytics
// server directly within this callback.
// Extract the impression-level ad revenue data.
let value = adValue.value
let precision = adValue.precision
let currencyCode = adValue.currencyCode
// Get the ad unit ID.
let adUnitId = ad.adUnitID
let responseInfo = ad.responseInfo
let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo
let adSourceId = loadedAdNetworkResponseInfo?.adSourceID
let adSourceInstanceId = loadedAdNetworkResponseInfo?.adSourceInstanceID
let adSourceInstanceName = loadedAdNetworkResponseInfo?.adSourceInstanceName
let adSourceName = loadedAdNetworkResponseInfo?.adSourceName
let mediationGroupName = responseInfo?.extrasDictionary["mediation_group_name"]
let mediationABTestName = responseInfo?.extrasDictionary["mediation_ab_test_name"]
let mediationABTestVariant = responseInfo?.extrasDictionary["mediation_ab_test_variant"]
}
}
}
}
}
Objective-C
@import GoogleMobileAds;
@import UIKit;
@interface ViewController ()
@property(nonatomic, strong) GADRewardedAd *rewardedAd;
@end
@implementation ViewController
- (void)requestRewardedAd {
__weak ViewController *weakSelf = self;
GADRequest *request = [GADRequest request];
[GADRewardedAd
loadWithAdUnitID:@"AD_UNIT_ID"
request:request
completionHandler:^(GADRewardedAd *ad, NSError *error) {
if (error) {
NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
return;
}
self.rewardedAd = ad;
self.rewardedAd.paidEventHandler = ^void(GADAdValue *_Nonnull value){
ViewController *strongSelf = weakSelf;
// TODO: Send the impression-level ad revenue information to your preferred analytics
// server directly within this callback.
// Extract the impression-level ad revenue data.
NSDecimalNumber *value; = value.value;
NSString *currencyCode = value.currencyCode;
GADAdValuePrecision precision = value.precision;
// Get the ad unit ID.
NSString *adUnitId = strongSelf.rewardedAd.adUnitID;
GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo =
strongSelf.rewardedAd.responseInfo.loadedAdNetworkResponseInfo;
NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName;
NSString *adSourceID = loadedAdNetworkResponseInfo.adSourceID;
NSString *adSourceInstanceName = loadedAdNetworkResponseInfo.adSourceInstanceName;
NSString *adSourceInstanceID = loadedAdNetworkResponseInfo.adSourceInstanceID;
NSDictionary<NSString *, id> *extras = strongSelf.rewardedAd.responseInfo.extrasDictionary;
NSString *mediationGroupName = extras["mediation_group_name"];
NSString *mediationABTestName = extras["mediation_ab_test_name"];
NSString *mediationABTestVariant = extras["mediation_ab_test_variant"];
};
]};
}
Więcej informacji o zwycięskim źródle reklam znajdziesz w artykule Pobieranie informacji o odpowiedzi na reklamę.
Integracja z programem App Attribution Partners (AAP)
Szczegółowe informacje o przekazaniu danych o przychodach z reklam do platform analitycznych znajdziesz w instrukcji partnera:
Pakiet SDK partnera |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
Sprawdzone metody wdrażania
- Ustaw go od razu po utworzeniu obiektu reklamy lub uzyskaniu do niego dostępu, a zdecydowanie przed wyświetleniem reklamy. Dzięki temu nie przegapisz żadnych wywołań zwrotnych zdarzeń płatnych.
- Wyślij informacje o płatnym zdarzeniu do preferowanego serwera analityki natychmiast po wywołaniu metody
paidEventHandler
. Pozwala to uniknąć przypadkowego odrzucenia wywołań zwrotnych i unikać rozbieżności w danych.
GADAdValue
GADAdValue
to klasa, która reprezentuje wartość pieniężną uzyskaną z reklamy, w tym kod waluty wartości i jej dokładność, zakodowane jak poniżej.
GADAdValuePrecision | Opis |
---|---|
GADAdValuePrecisionUnknown
|
nieznana wartość reklamy. Ta wartość jest zwracana, gdy pingback wartości od początku śledzenia jest włączony, ale nie ma wystarczającej ilości danych. |
GADAdValuePrecisionEstimated
|
Wartość reklamy oszacowana na podstawie danych zbiorczych. |
GADAdValuePrecisionPublisherProvided
|
Wartość reklamy została podana przez wydawcę, np. na podstawie CPM ustawionego ręcznie w grupie zapośredniczenia. |
GADAdValuePrecisionPrecise
|
Dokładna kwota zapłacona za reklamę. |
Testowanie wyświetleń z źródeł reklam z ustalaniem stawek
Gdy zdarzenie przychodów z reklam na poziomie wyświetleń wystąpi w źródle reklam z ustawioną stawką w ramach żądania testowego, otrzymasz tylko te wartości:
GADAdValuePrecisionUnknown
: wskazuje typ dokładności.
0
: wskazuje wartość reklamy.
Wcześniej typ dokładności mógł mieć wartość inną niż
GADAdValuePrecisionUnknown
oraz wartość reklamy większą niż 0
.
Szczegółowe informacje o wysyłaniu testowego żądania reklamy znajdziesz w artykule Włączanie urządzeń testowych.