The ADFUserInfo Class sets the information of app’s user.
The properties of the ADFUserInfo Class are:
|Language||No||The language of the requested ad in ISO 639-1 language codes format (Two Letters code);||ar, en|
|Postal code||No||The user’s postal/ZIP code
|Area code||No||The user’s area code||06|
|Age||No||The user’s age||27|
|Gender||No||The user’s gender||kADFUserInfoGenderNone kADFUserInfoGenderMale kADFUserInfoGenderFemale|
|Country code||No||County code of the end user in ISO 3166-1 alpha-2 format code (two-letter code)
|JO, SA …etc.|
|Birthdate||No||Birthdate of app user in format dd.MM.yyyy||21.11.1984|
|Location: Latitude, Longitude||No||The geolocation information of the device. The location information is divided into two double values; latitude and longitude.
The ADFTargetingParams class sets the user and app information in order to help AdFalcon to deliver the most related and targeted ad to the user. All properties are optional.
The properties of the ADFTargetingParams Class are:
|userInfo||No||A class containing information about the user of app||ADFUserInfo|
|Keywords||No||A list containing keywords in comma separated format. AdFalcon’s ads selector engine will search for ads relevant these keywords.||ex. sport, news, lifestyle, etc.|
|Additional Info||No||A map of keys and values to add additional parameters.|
|estimatedSize||Read only||Returns expected size based on the passing ad template in initialize method|
|status||Read only||Returns enum value of ADFNativeAdStatus type, this is used to know the current status for native ad. The possible values are the following:
|ready||Read only||Boolean value, returns yes if the ad is loaded successfully and ready to show. No if the ad is still loading, failed or not loaded yet.|
|errorMessage||Read only||String value, this value will be filled, if the status of native ad is failed.|
|testing||Assign||The property is used to inform AdFalcon network that the app is under the testing mode rather than production mode. Before releasing your app ensure this is set to NO.|
|delegate||Weak||ADFNativeAdDelegate value, this property is used to pass the delegate of native ad.|
|– (void) initializeWithSiteID:(NSString*) siteID adTemplateClass:(Class) adTemplateClass viewController:(UIViewController *) viewController;||This method should be called only once, before calling loadAd method.
· siteID: pass the site id which you got from adfalcon website.
· adTemplate: pass your ad template class.
· viewController: pass the view controller which contains the native ad.
|– (void) loadAdWithParams:(ADFTargetingParams*) targetingParams;||This method is used to load new ad.
· ADFTargetingParams: Ad Request Targeting Parameters
|-(void) bindViews:(ADFNativeAdBinder*) binder;||Yes||This method is used to connect your native ad template’s views to their corresponding native ad assets (title view, main image, icon, etc.).
You should at minimum bind one of the mandatory native ad assets (icon, title or MainAsset) depending on the native ad template design in-place.
Optionally, the binder allows setting additional parameters of the native ad assets such as the width and height of the icon and image, the maximum length of the title otherwise the binder will infer this information from the UIView’s properties.
Binding views to native ad assets is achieved using the binder object of ADFNativeAdBinder class by calling the appropriate binding method (setIconImageView, setTitleLabel, setMainAssetView and setExtraData).
|-(CGSize) sizeForWidth:(CGFloat) width;||Yes||This method is used to calculate the size of your native ad template view for the given parent view width or screen width. This is used while inferring the different attributes of your native ad views such as maximum length of your text views, and width and height of your image views.|
|-(void) renderExtraData:(NSDictionary*) extraData||No||This method is used to allow the app to draw any extra data assets that were not bound explicitly in bindViews method.
This is used if the app is willing to entirely take over the extra data display and presentation.
|-(void) nativeAdDidLoad:(ADFNativeAd*) nativeAd;||Yes||Fired when the ad is loaded successfully.|
|-(void) nativeAd:(ADFNativeAd*) nativeAd
didFailWithErrorCode:(int) code message:(NSString*) message;
|Yes||Fired when failed to load an ad with failure reason.|
|-(BOOL) nativeAd:(ADFNativeAd*) nativeAd handleCustomActionWithData:(NSString *)customData;||No||This method will be invoked by the SDK if the action type of an ad is custom.
· ADFNativeAd: Native ad object
· customData: The Ad Custom data object in the format agreed on between the publisher and the advertiser; normally this is in JSON format.
Returns YES if the action has been handled successfully, otherwise return NO.
|-(void) nativeAdWillPresentScreen:(ADFNativeAd*) nativeAd;||No||This method will be invoked before presenting the ad screen.|
|-(void) nativeAdDidPresentScreen:(ADFNativeAd*) nativeAd;||No||This method will be invoked after presenting the ad screen.|
|-(void) nativeAdWillDismissScreen:(ADFNativeAd*) nativeAd;||No||This method will be invoked before dismissing the ad screen.|
|-(void) nativeAdDidDismissScreen:(ADFNativeAd*) nativeAd;||No||This method will be invoked after dismissing the ad screen.|
|kADFNativeAdErrorInternalServer||is an error that’s happened within the web server attempting to get you an ad. It’s typically a server-side problem out of your control
|kADFNativeAdErrorNoAdAvailabe||no ad available in AdFalcon stores|
|kADFNativeAdErrorInvalidParam||There is a parameter has invalid value|
|kADFNativeAdErrorMissingParam||You have missed to fill required parameter|
|kADFNativeAdErrorGenericSDK||An error happened within the SDK during attempting to load or render an ad.|
|kADFNativeAdErrorCommunication||No connection available to the internet.|
|kADFNativeAdErrorInterstitialAlreadyUsed||An error happened when application try to reuse Interstitial|
|-(void) setIconImageView:(UIImageView*) imageView;
-(void) setIconImageView:(UIImageView*) imageView minSize:(CGSize) minSize;
|Binds the native ad icon asset to its corresponding UIImageView in the template.
The first method is used to pass the template’s icon image view. The SDK will determine the image view size and return the best size for your icon.
Or you can use the overloaded method to explicitly set the minimum size of the requested icon.
The size of any icon must be a square i.e. the width is equal to the height.
Recommended minimum width and height of the Icon UIImageView is 50×50.
|-(void) setTitleLabel:(UILabel*) label;
-(void) setTitleLabel:(UILabel *)label maxLength:(CGFloat) maxLength;
|Binds the native ad title asset to its corresponding UILabel in the template.
The first method is used to pass the label view of the template’s title. The SDK will infer the maximum length of the label based on UILabel properties.
Or you can use the overloaded method to explicitly set the maximum length of the title.
It is recommended that the UILabel is laid out to display at least 25 characters.
|-(void) setMainAssetView:(UIView *) view;
-(void) setMainAssetView:(UIView *) view minSize:(CGSize) minSize;
|Binds the native ad main asset to its corresponding UIView in the template.
The MainAsset is a UIView which is used as a container view for the actual native ad main asset which can be:
· Image, or
The SDK will automatically create the adequate UIView type that match the native ad main asset.
The first method is used to pass the main asset’s view, the SDK will use it to infer the minimum adequate width and height.
Or you can use the overloaded method to explicitly set the minimum required size for the main asset.
The main asset UIView width and height aspect ratio should always be W/H=1.91. It is recommended to use 320×167 points.
|-(void) setExtraDataView:(UIView *) view dataID:(NSInteger) dataID;
-(void) setExtraDataView:(UIView *) view dataID:(NSInteger) dataID maxLength:(CGFloat) maxLength;
-(void) setExtraDataLabel:(UILabel *) label dataID:(NSInteger) dataID maxLength:(CGFloat) maxLength
-(void) setExtraDataImageView:(UIImageView *) imageView dataID:(NSInteger) dataID minSize:(CGSize) minSize
|Binds the native ad data asset to its corresponding UIView in the template.
All extra data views are optional which means native ad can be returned even if they don’t include the requested extra data assets. Additionally, the SDK will hide any extra data view that is not included in the returned native ad.
The first method is used to pass the view with its data id, the SDK will use the view properties to infer any needed additional parameters, such text max length, or images height and width.
The overloaded method is used to explicitly set any additional parameters.
Below is a list of supported data asset types of native ads:
|starRatingEmptyColor||Change the color of empty area in star rating|
|starRatingFillingColor||Change the color of filling area in star rating|
|-(void) setAdChoicesView:(UIView *) view;||Binds the native ad AdChoices asset to its corresponding UIView in the template. It is a Mandatory field.
An AdChoices icon must be displayed in your ad to enable the user to learn about interest-based advertising.
The SDK will decide when it is needed to display the icon and will also handle the tap event on the view by opening an opt-out page in the browser.
The size of the view: 20×20.
You must place the view in any one of the four corners of the ad template; upper right hand corner is recommended.