我正在尝试开发本机模块,但我不知道Objective-C的工作原理,因此我会凭直觉和尝试去做。
所以,我知道这是我的横幅的加载位置,并显示在应用程序中。工作正常。
BannerView.m
@implementation BannerView
...
- (instancetype)initWithFrame:(CGRect)frame
{
if ((self = [super initWithFrame:frame])) {
[self.bannerUnit setAutoRefreshMillisWithTime:35000];
self.dfpView = [[DFPBannerView alloc] initWithAdSize:kGADAdSizeMediumRectangle];
...
self.dfpView.adUnitID = @"/6499/example/banner";
...
[self addSubview:self.dfpView];
}
return self;
}
我有这种方法RN-Objective-C桥在哪里
- (void)loadBanner
{
...
}
在 loadBanner ,我可以获取诸如
的属性<Banner adUnitID={'123'} // inside RN
_adUnitID // inside Objective-C
现在的问题是,在 initWithFrame 中,_adUnitID始终为null。我尝试了_adUnitID,self._adUnitID,self.adUnitID。但还是一样。
NSLog(@"adUnitID %@", _adUnitID); // always null
[更新]
这是我定义 adUnitID
的地方BannerViewManager.m
RCT_EXPORT_MODULE();
...
RCT_EXPORT_VIEW_PROPERTY(adUnitID, NSString)
BannerView.h
@interface BannerView : RCTView <GADBannerViewDelegate>
...
@property (nonatomic, copy) NSString *adUnitID;
那么,我可能做错了什么?可以做到吗?