@@ -358,6 +358,36 @@ typedef SWIFT_ENUM(NSInteger, TCFVersion, open) {
358358 TCFVersionV2 = 2,
359359};
360360
361+
362+ SWIFT_CLASS("_TtC8TeadsSDK16TagBinderBuilder")
363+ @interface TagBinderBuilder : NSObject
364+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
365+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
366+ /// A non-zero tag for the title label view to be rendered. The maximum length will be 50 characters.
367+ /// UIView element should be a <code>UILabel</code>
368+ @property (nonatomic) NSInteger titleLabelTag;
369+ /// A non-zero tag for content / body / description label view to be rendered. The maximum length will be 150 characters.
370+ /// UIView element should be a ``UILabel```
371+ @property (nonatomic) NSInteger contentLabelTag;
372+ /// A non-zero tag for media content view to be rendered.
373+ /// UIView element must be a <code>TeadsMediaView</code>
374+ @property (nonatomic) NSInteger mediaViewTag;
375+ /// A non-zero tag for icon image view to be rendered.
376+ /// UIView element must be a <code>UIImageView</code>
377+ @property (nonatomic) NSInteger iconImageViewTag;
378+ /// A non-zero tag for advertiser label view to be rendered. The maximum length will be 25 characters.
379+ /// UIView element should be a <code>UILabel</code>
380+ @property (nonatomic) NSInteger advertiserLabelTag;
381+ /// A non-zero tag for call to action button view to be rendered. The maximum length will be 15 characters.
382+ /// UIView element should be a <code>UIButton</code>
383+ @property (nonatomic) NSInteger callToActionButtonTag;
384+ /// A non-zero tag for star rating content view to be rendered.
385+ @property (nonatomic) NSInteger ratingViewTag;
386+ /// A non-zero tag for price content view to be rendered.
387+ /// UIView element should be a <code>UILabel</code>
388+ @property (nonatomic) NSInteger priceLabelTag;
389+ @end
390+
361391@class TeadsAdPlacementSettings;
362392@protocol TeadsInReadAdPlacementDelegate;
363393@class TeadsInReadAdPlacement;
@@ -1053,6 +1083,14 @@ SWIFT_CLASS("_TtC8TeadsSDK17TeadsNativeAdView")
10531083/// \param ad The ad that should be binded to the ad view.
10541084///
10551085- (void)bind:(TeadsNativeAd * _Nonnull)ad;
1086+ /// Binds the native asset ad views to this native ad using view tags binder
1087+ /// important:
1088+ /// This call is mandatory in order to monitor ad viewability of each components
1089+ /// \param ad The ad that should be binded to the ad view.
1090+ ///
1091+ /// \param binder Binds the native asset ad views to this native ad using view tags.
1092+ ///
1093+ - (void)bind:(TeadsNativeAd * _Nonnull)ad tagBinder:(SWIFT_NOESCAPE void (^ _Nonnull)(TagBinderBuilder * _Nonnull))tagBinder;
10561094- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
10571095- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
10581096@end
@@ -1101,13 +1139,13 @@ SWIFT_PROTOCOL("_TtP8TeadsSDK18TeadsSoundDelegate_") SWIFT_UNAVAILABLE_MSG("'Tea
11011139
11021140
11031141
1142+
11041143@interface UIButton (SWIFT_EXTENSION(TeadsSDK))
11051144- (void)bindWithComponent:(CommonComponent * _Nullable)component;
11061145@end
11071146
11081147
11091148
1110-
11111149@interface UIImageView (SWIFT_EXTENSION(TeadsSDK))
11121150- (void)bindWithComponent:(CommonComponent * _Nullable)component;
11131151@end
@@ -1119,6 +1157,7 @@ SWIFT_PROTOCOL("_TtP8TeadsSDK18TeadsSoundDelegate_") SWIFT_UNAVAILABLE_MSG("'Tea
11191157
11201158
11211159
1160+
11221161@interface UIView (SWIFT_EXTENSION(TeadsSDK))
11231162/// map your UIKit element to TeadsSDK logic,
11241163/// this ensures visibility measurement is monitored and click behaviors are well handled
@@ -1509,6 +1548,36 @@ typedef SWIFT_ENUM(NSInteger, TCFVersion, open) {
15091548 TCFVersionV2 = 2,
15101549};
15111550
1551+
1552+ SWIFT_CLASS("_TtC8TeadsSDK16TagBinderBuilder")
1553+ @interface TagBinderBuilder : NSObject
1554+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1555+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1556+ /// A non-zero tag for the title label view to be rendered. The maximum length will be 50 characters.
1557+ /// UIView element should be a <code>UILabel</code>
1558+ @property (nonatomic) NSInteger titleLabelTag;
1559+ /// A non-zero tag for content / body / description label view to be rendered. The maximum length will be 150 characters.
1560+ /// UIView element should be a ``UILabel```
1561+ @property (nonatomic) NSInteger contentLabelTag;
1562+ /// A non-zero tag for media content view to be rendered.
1563+ /// UIView element must be a <code>TeadsMediaView</code>
1564+ @property (nonatomic) NSInteger mediaViewTag;
1565+ /// A non-zero tag for icon image view to be rendered.
1566+ /// UIView element must be a <code>UIImageView</code>
1567+ @property (nonatomic) NSInteger iconImageViewTag;
1568+ /// A non-zero tag for advertiser label view to be rendered. The maximum length will be 25 characters.
1569+ /// UIView element should be a <code>UILabel</code>
1570+ @property (nonatomic) NSInteger advertiserLabelTag;
1571+ /// A non-zero tag for call to action button view to be rendered. The maximum length will be 15 characters.
1572+ /// UIView element should be a <code>UIButton</code>
1573+ @property (nonatomic) NSInteger callToActionButtonTag;
1574+ /// A non-zero tag for star rating content view to be rendered.
1575+ @property (nonatomic) NSInteger ratingViewTag;
1576+ /// A non-zero tag for price content view to be rendered.
1577+ /// UIView element should be a <code>UILabel</code>
1578+ @property (nonatomic) NSInteger priceLabelTag;
1579+ @end
1580+
15121581@class TeadsAdPlacementSettings;
15131582@protocol TeadsInReadAdPlacementDelegate;
15141583@class TeadsInReadAdPlacement;
@@ -2204,6 +2273,14 @@ SWIFT_CLASS("_TtC8TeadsSDK17TeadsNativeAdView")
22042273/// \param ad The ad that should be binded to the ad view.
22052274///
22062275- (void)bind:(TeadsNativeAd * _Nonnull)ad;
2276+ /// Binds the native asset ad views to this native ad using view tags binder
2277+ /// important:
2278+ /// This call is mandatory in order to monitor ad viewability of each components
2279+ /// \param ad The ad that should be binded to the ad view.
2280+ ///
2281+ /// \param binder Binds the native asset ad views to this native ad using view tags.
2282+ ///
2283+ - (void)bind:(TeadsNativeAd * _Nonnull)ad tagBinder:(SWIFT_NOESCAPE void (^ _Nonnull)(TagBinderBuilder * _Nonnull))tagBinder;
22072284- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
22082285- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
22092286@end
@@ -2252,13 +2329,13 @@ SWIFT_PROTOCOL("_TtP8TeadsSDK18TeadsSoundDelegate_") SWIFT_UNAVAILABLE_MSG("'Tea
22522329
22532330
22542331
2332+
22552333@interface UIButton (SWIFT_EXTENSION(TeadsSDK))
22562334- (void)bindWithComponent:(CommonComponent * _Nullable)component;
22572335@end
22582336
22592337
22602338
2261-
22622339@interface UIImageView (SWIFT_EXTENSION(TeadsSDK))
22632340- (void)bindWithComponent:(CommonComponent * _Nullable)component;
22642341@end
@@ -2270,6 +2347,7 @@ SWIFT_PROTOCOL("_TtP8TeadsSDK18TeadsSoundDelegate_") SWIFT_UNAVAILABLE_MSG("'Tea
22702347
22712348
22722349
2350+
22732351@interface UIView (SWIFT_EXTENSION(TeadsSDK))
22742352/// map your UIKit element to TeadsSDK logic,
22752353/// this ensures visibility measurement is monitored and click behaviors are well handled
0 commit comments