FBNativeAdsManagerDelegate
denilen ama vermedi.Facebook Yerel Reklamlar FBNativeAdsManagerDelegate uygulama yöntemleri <code>UIViewController</code> sınıfında düzgün çalışıyor Facebook Yerleşik Reklamlar
CustomFBAd.h dosya
@import FBAudienceNetwork;
#import <Foundation/Foundation.h>
@protocol OnFBNativeAdLoadedDelegate<NSObject>
- (void)onFBNativeAdLoaded:(UIView *)adView;
@end
@interface CustomFBAd : NSObject
@property (nonatomic,weak) id <OnFBNativeAdLoadedDelegate>delegate;
-(void)requestNativeAd:(NSString *)FaceBookPlacementID;
@end
CustomFBAd.m dosya
#import "CustomFBAd.h"
@interface CustomFBAd()<FBNativeAdsManagerDelegate,FBNativeAdDelegate>
@property (nonatomic, strong) FBNativeAdsManager *manager;
@property (nonatomic, weak) FBNativeAdScrollView *scrollView;
@end
@implementation CustomFBAd
-(void)requestNativeAd:(NSString *)FaceBookPlacementID{
if(FaceBookPlacementID.length != 0){
FBNativeAdsManager *manager = [[FBNativeAdsManager alloc] initWithPlacementID:FaceBookPlacementID forNumAdsRequested:5];
manager.delegate = self;
[FBAdSettings addTestDevice:@"cf1bb93becbe6e31f26fdf7d80d19b4ae225afaa"];
[manager loadAds];
self.manager = manager;
}
}
#pragma mark - FBNativeAdDelegate implementation
- (void)nativeAdDidClick:(FBNativeAd *)nativeAd
{
// NSLog(@"Native ad was clicked.");
}
- (void)nativeAdDidFinishHandlingClick:(FBNativeAd *)nativeAd
{
// NSLog(@"Native ad did finish click handling.");
}
- (void)nativeAdWillLogImpression:(FBNativeAd *)nativeAd
{
// NSLog(@"Native ad impression is being captured.");
}
#pragma mark FBNativeAdsManagerDelegate
-(void)nativeAdDidLoad:(FBNativeAd *)nativeAd
{
}
- (void)nativeAdsLoaded
{
NSLog(@"Native ads loaded, constructing native UI...");
if (self.scrollView) {
[self.scrollView removeFromSuperview];
self.scrollView = nil;
}
FBNativeAdScrollView *scrollView = [[FBNativeAdScrollView alloc] initWithNativeAdsManager:self.manager withType:FBNativeAdViewTypeGenericHeight120];
scrollView.xInset = 0;
scrollView.delegate = self;
self.scrollView = scrollView;
[self.delegate onFBNativeAdLoaded:self.scrollView];
}
- (void)nativeAdsFailedToLoadWithError:(NSError *)error
{
NSLog(@"Native ads failed to load with error: %@", error);
}
@end
I
olarakrequestNativeAd
yöntemde
FBNativeAdsManager 'in temsilci set mi Yukarıdaki kod belirtildiği gibi
Ve ayrıca FBNativeAdsManagerDelegate olarak kullanılan 0,
@interface CustomFBAd()<FBNativeAdsManagerDelegate,FBNativeAdDelegate>
Ve diyoruz FBNativeAdDelegate
CustomFBAd *objFBAd = [[CustomFBAd alloc]init];
objFBAd.delegate = self;
[objFBAd requestNativeAd:@"my_FB_placement_Id"];
(Not: Ben UIViewController
kullanmak eğer aynı kod çalışır) bir ipucu olarak bu kod? Teşekkür
hala cevap verebilir Facebook'tan kimse var mı yardımcı olur umarım? –
Temsilci yöntemleriniz uiviewcontroller'da çağrılırsa, kodla ilgili bir sorun var demektir. Denetleyicinizde güçlü bir CustomFBAd referansına sahip olmanız gerektiğini düşünüyorum. Diğer referansların hiçbiri CustomFBAd'inizi tuttuğundan dolayı. o yardımcı olur umarım :) –