Внедряването донякъде зависи от мрежата, но ето пълен пример за това как бихте интегрирали мрежата на AdMob чрез персонализирано събитие, ако то вече не се поддържа.
Създайте персонализирано събитие във вашето разположение за посредничество:
Етикет - blahblahblah (може да бъде произволен низ)
Име на клас - CustomAd (Името на вашия клас. В този пример е CustomAd)
Параметър - a1401234567890 (В случая на AdMob имате нужда само от вашия ID на издател. Бихте искали да използвате своя собствен ID на издател тук, това е само пример)
#import CustomAd.h
@implementation CustomAd
// Will be set by the AdMob SDK.
@synthesize delegate;
- (void)dealloc {
bannerView_.delegate = nil;
[bannerView_ release];
[super dealloc];
}
#pragma mark -
#pragma mark GADCustomEventBanner
- (void)requestBannerAd:(GADAdSize)adSize
parameter:(NSString *)serverParameter
label:(NSString *)serverLabel
request:(GADCustomEventRequest *)customEventRequest {
// Create the bannerView with the appropriate size.
bannerView_ = [[GADBannerView alloc] initWithAdSize: adSize];
// Set the delegate to listen for callbacks.
[bannerView_ setDelegate:self];
// Set the publisher ID for the banner. This comes from server parameter
// you provide when creating the custom event in mediation.
bannerView_.adUnitID = serverParameter;
// Let the bannerView know which UIViewController to restore after returning
// from and ad click. The UIViewController is available from
// GADCustomEventBannerDelegate.
bannerView_.rootViewController = [self.delegate viewControllerForPresentingModalView];
// Create an ad request using custom targeting options from the custom event
// request.
GADRequest *request = [GADRequest request];
[request setAdditionalParameters:[customEventRequest additionalParameters]];
[request setBirthday:[customEventRequest userBirthday]];
[request setGender:[customEventRequest userGender]];
[request setTesting:[customEventRequest isTesting]];
if ([customEventRequest userHasLocation]) {
[request setLocationWithLatitude:[customEventRequest userLatitude]
longitude:[customEventRequest userLongitude]
accuracy:[customEventRequest userLocationAccuracyInMeters]];
}
[bannerView_ loadRequest:request];
}
#pragma mark -
#pragma mark GADBannerView Callbacks
- (void)adViewDidReceiveAd:(GADBannerView *)adView {
[self.delegate customEventBanner:self didReceiveAd:adView];
}
- (void)adView:(GADBannerView *)view
didFailToReceiveAdWithError:(NSError *)error {
[self.delegate customEventBanner:self didFailAd:error];
}
- (void)adViewWillPresentScreen:(GADBannerView *)adView {
[self.delegate customEventBanner:self clickDidOccurInAd:adView];
[self.delegate customEventBannerWillPresentModal:self];
}
- (void)adViewWillDismissScreen:(GADBannerView *)adView {
[self.delegate customEventBannerWillDismissModal:self];
}
- (void)adViewDidDismissScreen:(GADBannerView *)adView {
[self.delegate customEventBannerDidDismissModal:self];
}
- (void)adViewWillLeaveApplication:(GADBannerView *)adView {
[self.delegate customEventBannerWillLeaveApplication:self];
}
@end
personEric Leichtenschlagschedule31.05.2012
comment
Благодаря, Ерик. Все още имам още въпроси. Ако следната заявка бъде изпратена до мобилен телефон: admob-›GeryStripe-›admob Когато превключа от GeryStripe към admob, как да премахна изгледа GeryStripe. В решението AdWhirl AdWhirl предоставя протокол: - (void)stopBeingDelegate; Мога да извикам stopBeingDelegate, за да премахна изгледа GeryStripe. Но в решението за посредничество на Admob не мога да намеря подобна функция. И така, как мога да направя това в Admob посредничество.
- personKevin Chen; 04.06.2012
comment
Не трябва да се обаждаш на нищо. AdMob Mediation SDK трябва да го направи вместо вас. Посредничеството се обажда на requestBannerAd:, за да създадете своя банер GreyStripe и да направите заявка. Когато GreyStripe ви уведоми, че успешно е получила реклама, вие ще извикате [self.delegate customEventBanner:self didReceiveAd:greyStripeView]; В този момент AdMob ще премахне предишната реклама, която се е намирала в изгледа на контейнера, и след това ще постави вместо нея рекламата GreyStripe.
- personEric Leichtenschlag; 05.06.2012
comment
Благодаря Ерик. Вашите коментари са наистина полезни и проблемът ми е разрешен. Благодаря много :)
- personKevin Chen; 07.06.2012