| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742 |
- //
- // AppsFlyerLib.h
- // AppsFlyerLib
- //
- // AppsFlyer iOS SDK 6.14.5.189 (189)
- // Copyright (c) 2012-2023 AppsFlyer Ltd. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import <AppsFlyerLib/AppsFlyerCrossPromotionHelper.h>
- #import <AppsFlyerLib/AppsFlyerShareInviteHelper.h>
- #import <AppsFlyerLib/AppsFlyerDeepLinkResult.h>
- #import <AppsFlyerLib/AppsFlyerDeepLink.h>
- #import <AppsFlyerLib/AppsFlyerConsent.h>
- #import <AppsFlyerLib/AFSDKPurchaseDetails.h>
- #import <AppsFlyerLib/AFSDKValidateAndLogResult.h>
- NS_ASSUME_NONNULL_BEGIN
- // In app event names constants
- #define AFEventLevelAchieved @"af_level_achieved"
- #define AFEventAddPaymentInfo @"af_add_payment_info"
- #define AFEventAddToCart @"af_add_to_cart"
- #define AFEventAddToWishlist @"af_add_to_wishlist"
- #define AFEventCompleteRegistration @"af_complete_registration"
- #define AFEventTutorial_completion @"af_tutorial_completion"
- #define AFEventInitiatedCheckout @"af_initiated_checkout"
- #define AFEventPurchase @"af_purchase"
- #define AFEventRate @"af_rate"
- #define AFEventSearch @"af_search"
- #define AFEventSpentCredits @"af_spent_credits"
- #define AFEventAchievementUnlocked @"af_achievement_unlocked"
- #define AFEventContentView @"af_content_view"
- #define AFEventListView @"af_list_view"
- #define AFEventTravelBooking @"af_travel_booking"
- #define AFEventShare @"af_share"
- #define AFEventInvite @"af_invite"
- #define AFEventLogin @"af_login"
- #define AFEventReEngage @"af_re_engage"
- #define AFEventUpdate @"af_update"
- #define AFEventOpenedFromPushNotification @"af_opened_from_push_notification"
- #define AFEventLocation @"af_location_coordinates"
- #define AFEventCustomerSegment @"af_customer_segment"
- #define AFEventSubscribe @"af_subscribe"
- #define AFEventStartTrial @"af_start_trial"
- #define AFEventAdClick @"af_ad_click"
- #define AFEventAdView @"af_ad_view"
- // In app event parameter names
- #define AFEventParamContent @"af_content"
- #define AFEventParamAchievementId @"af_achievement_id"
- #define AFEventParamLevel @"af_level"
- #define AFEventParamScore @"af_score"
- #define AFEventParamSuccess @"af_success"
- #define AFEventParamPrice @"af_price"
- #define AFEventParamContentType @"af_content_type"
- #define AFEventParamContentId @"af_content_id"
- #define AFEventParamContentList @"af_content_list"
- #define AFEventParamCurrency @"af_currency"
- #define AFEventParamQuantity @"af_quantity"
- #define AFEventParamRegistrationMethod @"af_registration_method"
- #define AFEventParamPaymentInfoAvailable @"af_payment_info_available"
- #define AFEventParamMaxRatingValue @"af_max_rating_value"
- #define AFEventParamRatingValue @"af_rating_value"
- #define AFEventParamSearchString @"af_search_string"
- #define AFEventParamDateA @"af_date_a"
- #define AFEventParamDateB @"af_date_b"
- #define AFEventParamDestinationA @"af_destination_a"
- #define AFEventParamDestinationB @"af_destination_b"
- #define AFEventParamDescription @"af_description"
- #define AFEventParamClass @"af_class"
- #define AFEventParamEventStart @"af_event_start"
- #define AFEventParamEventEnd @"af_event_end"
- #define AFEventParamLat @"af_lat"
- #define AFEventParamLong @"af_long"
- #define AFEventParamCustomerUserId @"af_customer_user_id"
- #define AFEventParamValidated @"af_validated"
- #define AFEventParamRevenue @"af_revenue"
- #define AFEventProjectedParamRevenue @"af_projected_revenue"
- #define AFEventParamReceiptId @"af_receipt_id"
- #define AFEventParamTutorialId @"af_tutorial_id"
- #define AFEventParamVirtualCurrencyName @"af_virtual_currency_name"
- #define AFEventParamDeepLink @"af_deep_link"
- #define AFEventParamOldVersion @"af_old_version"
- #define AFEventParamNewVersion @"af_new_version"
- #define AFEventParamReviewText @"af_review_text"
- #define AFEventParamCouponCode @"af_coupon_code"
- #define AFEventParamOrderId @"af_order_id"
- #define AFEventParam1 @"af_param_1"
- #define AFEventParam2 @"af_param_2"
- #define AFEventParam3 @"af_param_3"
- #define AFEventParam4 @"af_param_4"
- #define AFEventParam5 @"af_param_5"
- #define AFEventParam6 @"af_param_6"
- #define AFEventParam7 @"af_param_7"
- #define AFEventParam8 @"af_param_8"
- #define AFEventParam9 @"af_param_9"
- #define AFEventParam10 @"af_param_10"
- #define AFEventParamTouch @"af_touch_obj"
- #define AFEventParamDepartingDepartureDate @"af_departing_departure_date"
- #define AFEventParamReturningDepartureDate @"af_returning_departure_date"
- #define AFEventParamDestinationList @"af_destination_list" //array of string
- #define AFEventParamCity @"af_city"
- #define AFEventParamRegion @"af_region"
- #define AFEventParamCountry @"af_country"
- #define AFEventParamDepartingArrivalDate @"af_departing_arrival_date"
- #define AFEventParamReturningArrivalDate @"af_returning_arrival_date"
- #define AFEventParamSuggestedDestinations @"af_suggested_destinations" //array of string
- #define AFEventParamTravelStart @"af_travel_start"
- #define AFEventParamTravelEnd @"af_travel_end"
- #define AFEventParamNumAdults @"af_num_adults"
- #define AFEventParamNumChildren @"af_num_children"
- #define AFEventParamNumInfants @"af_num_infants"
- #define AFEventParamSuggestedHotels @"af_suggested_hotels" //array of string
- #define AFEventParamUserScore @"af_user_score"
- #define AFEventParamHotelScore @"af_hotel_score"
- #define AFEventParamPurchaseCurrency @"af_purchase_currency"
- #define AFEventParamPreferredStarRatings @"af_preferred_star_ratings" //array of int (basically a tuple (min,max) but we'll use array of int and instruct the developer to use two values)
- #define AFEventParamPreferredPriceRange @"af_preferred_price_range" //array of int (basically a tuple (min,max) but we'll use array of int and instruct the developer to use two values)
- #define AFEventParamPreferredNeighborhoods @"af_preferred_neighborhoods" //array of string
- #define AFEventParamPreferredNumStops @"af_preferred_num_stops"
- #define AFEventParamAdRevenueAdType @"af_adrev_ad_type"
- #define AFEventParamAdRevenueNetworkName @"af_adrev_network_name"
- #define AFEventParamAdRevenuePlacementId @"af_adrev_placement_id"
- #define AFEventParamAdRevenueAdSize @"af_adrev_ad_size"
- #define AFEventParamAdRevenueMediatedNetworkName @"af_adrev_mediated_network_name"
- /// Mail hashing type
- typedef enum {
- /// None
- EmailCryptTypeNone = 0,
- /// SHA256
- EmailCryptTypeSHA256 = 3
- } EmailCryptType;
- typedef NS_CLOSED_ENUM(NSInteger, AFSDKPlugin) {
- AFSDKPluginIOSNative,
- AFSDKPluginUnity,
- AFSDKPluginFlutter,
- AFSDKPluginReactNative,
- AFSDKPluginAdobeAir,
- AFSDKPluginAdobeMobile,
- AFSDKPluginCocos2dx,
- AFSDKPluginCordova,
- AFSDKPluginMparticle,
- AFSDKPluginNativeScript,
- AFSDKPluginExpo,
- AFSDKPluginUnreal,
- AFSDKPluginXamarin,
- AFSDKPluginCapacitor,
- AFSDKPluginSegment,
- AFSDKPluginAdobeSwiftAEP
- } NS_SWIFT_NAME(Plugin);
- NS_SWIFT_NAME(DeepLinkDelegate)
- @protocol AppsFlyerDeepLinkDelegate <NSObject>
- @optional
- - (void)didResolveDeepLink:(AppsFlyerDeepLinkResult *_Nonnull)result;
- @end
- /**
- Conform and subscribe to this protocol to allow getting data about conversion and
- install attribution
- */
- @protocol AppsFlyerLibDelegate <NSObject>
- /**
- `conversionInfo` contains information about install.
- Organic/non-organic, etc.
- @param conversionInfo May contain <code>null</code> values for some keys. Please handle this case.
- */
- - (void)onConversionDataSuccess:(NSDictionary *)conversionInfo;
- /**
- Any errors that occurred during the conversion request.
- */
- - (void)onConversionDataFail:(NSError *)error;
- @optional
- /**
- `attributionData` contains information about OneLink, deeplink.
- */
- - (void)onAppOpenAttribution:(NSDictionary *)attributionData;
- /**
- Any errors that occurred during the attribution request.
- */
- - (void)onAppOpenAttributionFailure:(NSError *)error;
- /**
- @abstract Sets the HTTP header fields of the ESP resolving to the given
- dictionary.
- @discussion This method replaces all header fields that may have
- existed before this method ESP resolving call.
- To keep default SDK behavior - return nil;
- */
- - (NSDictionary <NSString *, NSString *> * _Nullable)allHTTPHeaderFieldsForResolveDeepLinkURL:(NSURL *)URL;
- @end
- /**
- You can log installs, app updates, sessions and additional in-app events
- (including in-app purchases, game levels, etc.)
- to evaluate ROI and user engagement.
- The iOS SDK is compatible with all iOS/tvOS devices with iOS version 7 and above.
-
- @see [SDK Integration Validator](https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS)
- for more information.
-
- */
- @interface AppsFlyerLib : NSObject
- /**
- Gets the singleton instance of the AppsFlyerLib class, creating it if
- necessary.
-
- @return The singleton instance of AppsFlyerLib.
- */
- + (AppsFlyerLib *)shared;
- - (void)setUpInteroperabilityObject:(id)object;
- /**
- In case you use your own user ID in your app, you can set this property to that ID.
- Enables you to cross-reference your own unique ID with AppsFlyer’s unique ID and the other devices’ IDs
- */
- @property(nonatomic, strong, nullable) NSString * customerUserID;
- /**
- In case you use custom data and you want to receive it in the raw reports.
-
- @see [Setting additional custom data](https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS#setting-additional-custom-data) for more information.
- */
- @property(nonatomic, strong, nullable, setter = setAdditionalData:) NSDictionary * customData;
- /**
- Use this property to set your AppsFlyer's dev key
- */
- @property(nonatomic, strong) NSString * appsFlyerDevKey;
- /**
- Use this property to set your app's Apple ID(taken from the app's page on iTunes Connect)
- */
- @property(nonatomic, strong) NSString * appleAppID;
- #ifndef AFSDK_NO_IDFA
- /**
- AppsFlyer SDK collect Apple's `advertisingIdentifier` if the `AdSupport.framework` included in the SDK.
- You can disable this behavior by setting the following property to YES
- */
- @property(nonatomic) BOOL disableAdvertisingIdentifier;
- @property(nonatomic, strong, readonly) NSString *advertisingIdentifier;
- /**
- Waits for request user authorization to access app-related data
- */
- - (void)waitForATTUserAuthorizationWithTimeoutInterval:(NSTimeInterval)timeoutInterval
- NS_SWIFT_NAME(waitForATTUserAuthorization(timeoutInterval:));
- #endif
- @property(nonatomic) BOOL disableSKAdNetwork;
- /**
- In case of in app purchase events, you can set the currency code your user has purchased with.
- The currency code is a 3 letter code according to ISO standards
-
- Objective-C:
-
- <pre>
- [[AppsFlyerLib shared] setCurrencyCode:@"USD"];
- </pre>
-
- Swift:
-
- <pre>
- AppsFlyerLib.shared().currencyCode = "USD"
- </pre>
- */
- @property(nonatomic, strong, nullable) NSString *currencyCode;
- /**
- Prints SDK messages to the console log. This property should only be used in `DEBUG` mode.
- The default value is `NO`
- */
- @property(nonatomic) BOOL isDebug;
- /**
- Set this flag to `YES`, to collect the current device name(e.g. "My iPhone"). Default value is `NO`
- */
- @property(nonatomic) BOOL shouldCollectDeviceName;
- /**
- Set your `OneLink ID` from OneLink configuration. Used in User Invites to generate a OneLink.
- */
- @property(nonatomic, strong, nullable, setter = setAppInviteOneLink:) NSString * appInviteOneLinkID;
- /**
- Opt-out logging for specific user
- */
- @property(atomic) BOOL anonymizeUser;
- /**
- Opt-out for Apple Search Ads attributions
- */
- @property(atomic) BOOL disableCollectASA;
- /**
- Disable Apple Ads Attribution API +[AAAtribution attributionTokenWithError:]
- */
- @property(nonatomic) BOOL disableAppleAdsAttribution;
- /**
- AppsFlyer delegate. See `AppsFlyerLibDelegate`
- */
- @property(weak, nonatomic) id<AppsFlyerLibDelegate> delegate;
- @property(weak, nonatomic) id<AppsFlyerDeepLinkDelegate> deepLinkDelegate;
- /**
- In app purchase receipt validation Apple environment(production or sandbox). The default value is NO
- */
- @property(nonatomic) BOOL useReceiptValidationSandbox;
- /**
- Set this flag to test uninstall on Apple environment(production or sandbox). The default value is NO
- */
- @property(nonatomic) BOOL useUninstallSandbox;
- /**
- For advertisers who wrap OneLink within another Universal Link.
- An advertiser will be able to deeplink from a OneLink wrapped within another Universal Link and also log this retargeting conversion.
-
- Objective-C:
-
- <pre>
- [[AppsFlyerLib shared] setResolveDeepLinkURLs:@[@"domain.com", @"subdomain.domain.com"]];
- </pre>
- */
- @property(nonatomic, nullable, copy) NSArray<NSString *> *resolveDeepLinkURLs;
- /**
- For advertisers who use vanity OneLinks.
-
- Objective-C:
-
- <pre>
- [[AppsFlyerLib shared] oneLinkCustomDomains:@[@"domain.com", @"subdomain.domain.com"]];
- </pre>
- */
- @property(nonatomic, nullable, copy) NSArray<NSString *> *oneLinkCustomDomains;
- /*
- * Set phone number for each `start` event. `phoneNumber` will be sent as SHA256 string
- */
- @property(nonatomic, nullable, copy) NSString *phoneNumber;
- - (NSString *)phoneNumber UNAVAILABLE_ATTRIBUTE;
- /**
- To disable app's vendor identifier(IDFV), set disableIDFVCollection to true
- */
- @property(nonatomic) BOOL disableIDFVCollection;
- /**
- Set the language of the device. The data will be displayed in Raw Data Reports
- Objective-C:
-
- <pre>
- [[AppsFlyerLib shared] setCurrentDeviceLanguage:@"EN"]
- </pre>
-
- Swift:
-
- <pre>
- AppsFlyerLib.shared().currentDeviceLanguage("EN")
- </pre>
- */
- @property(nonatomic, nullable, copy) NSString *currentDeviceLanguage;
- /**
- Internal API. Please don't use.
- */
- - (void)setPluginInfoWith:(AFSDKPlugin)plugin
- pluginVersion:(NSString *)version
- additionalParams:(NSDictionary * _Nullable)additionalParams
- NS_SWIFT_NAME(setPluginInfo(plugin:version:additionalParams:));
- /**
- Enable the collection of Facebook Deferred AppLinks
- Requires Facebook SDK and Facebook app on target/client device.
- This API must be invoked prior to initializing the AppsFlyer SDK in order to function properly.
-
- Objective-C:
-
- <pre>
- [[AppsFlyerLib shared] enableFacebookDeferredApplinksWithClass:[FBSDKAppLinkUtility class]]
- </pre>
-
- Swift:
-
- <pre>
- AppsFlyerLib.shared().enableFacebookDeferredApplinks(with: FBSDKAppLinkUtility.self)
- </pre>
-
- @param facebookAppLinkUtilityClass requeries method call `[FBSDKAppLinkUtility class]` as param.
- */
- - (void)enableFacebookDeferredApplinksWithClass:(Class _Nullable)facebookAppLinkUtilityClass;
- /**
- Use this to send the user's emails
-
- @param userEmails The list of strings that hold mails
- @param type Hash algoritm
- */
- - (void)setUserEmails:(NSArray<NSString *> * _Nullable)userEmails withCryptType:(EmailCryptType)type;
- /**
- Start SDK session
- Add the following method at the `applicationDidBecomeActive` in AppDelegate class
- */
- - (void)start;
- - (void)startWithCompletionHandler:(void (^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))completionHandler;
- /**
- Use this method to log an events with multiple values. See AppsFlyer's documentation for details.
-
- Objective-C:
-
- <pre>
- [[AppsFlyerLib shared] logEvent:AFEventPurchase
- withValues: @{AFEventParamRevenue : @200,
- AFEventParamCurrency : @"USD",
- AFEventParamQuantity : @2,
- AFEventParamContentId: @"092",
- AFEventParamReceiptId: @"9277"}];
- </pre>
-
- Swift:
-
- <pre>
- AppsFlyerLib.shared().logEvent(AFEventPurchase,
- withValues: [AFEventParamRevenue : "1200",
- AFEventParamContent : "shoes",
- AFEventParamContentId: "123"])
- </pre>
-
- @param eventName Contains name of event that could be provided from predefined constants in `AppsFlyerLib.h`
- @param values Contains dictionary of values for handling by backend
- */
- - (void)logEvent:(NSString *)eventName withValues:(NSDictionary * _Nullable)values;
- - (void)logEventWithEventName:(NSString *)eventName
- eventValues:(NSDictionary<NSString * , id> * _Nullable)eventValues
- completionHandler:(void (^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))completionHandler
- NS_SWIFT_NAME(logEvent(name:values:completionHandler:));
- /**
- To log and validate in app purchases you can call this method from the completeTransaction: method on
- your `SKPaymentTransactionObserver`.
-
- @param productIdentifier The product identifier
- @param price The product price
- @param currency The product currency
- @param transactionId The purchase transaction Id
- @param params The additional param, which you want to receive it in the raw reports
- @param successBlock The success callback
- @param failedBlock The failure callback
- */
- - (void)validateAndLogInAppPurchase:(NSString * _Nullable)productIdentifier
- price:(NSString * _Nullable)price
- currency:(NSString * _Nullable)currency
- transactionId:(NSString * _Nullable)transactionId
- additionalParameters:(NSDictionary * _Nullable)params
- success:(void (^ _Nullable)(NSDictionary * response))successBlock
- failure:(void (^ _Nullable)(NSError * _Nullable error, id _Nullable reponse))failedBlock NS_AVAILABLE(10_7, 7_0);
- typedef void (^AFSDKValidateAndLogCompletion)(AFSDKValidateAndLogResult * _Nullable result);
- /**
- To log and validate in app purchases you can call this method from the completeTransaction: method on
- your `SKPaymentTransactionObserver`.
-
- @param details The product details
- @param extraEventValues The additional param, which you want to receive it in the raw reports
- @param completionHandler The callback
- */
- - (void)validateAndLogInAppPurchase:(AFSDKPurchaseDetails *)details
- extraEventValues:(NSDictionary * _Nullable)extraEventValues
- completionHandler:(AFSDKValidateAndLogCompletion)completionHandler NS_AVAILABLE(10_7, 7_0);
- /**
- To log location for geo-fencing. Does the same as code below.
-
- <pre>
- AppsFlyerLib.shared().logEvent(AFEventLocation, withValues: [AFEventParamLong:longitude, AFEventParamLat:latitude])
- </pre>
-
- @param longitude The location longitude
- @param latitude The location latitude
- */
- - (void)logLocation:(double)longitude latitude:(double)latitude NS_SWIFT_NAME(logLocation(longitude:latitude:));
- /**
- This method returns AppsFlyer's internal id(unique for your app)
-
- @return Internal AppsFlyer Id
- */
- - (NSString *)getAppsFlyerUID;
- /**
- In case you want to log deep linking. Does the same as `-handleOpenURL:sourceApplication:withAnnotation`.
-
- @warning Preferred to use `-handleOpenURL:sourceApplication:withAnnotation`.
-
- @param url The URL that was passed to your AppDelegate.
- @param sourceApplication The sourceApplication that passed to your AppDelegate.
- */
- - (void)handleOpenURL:(NSURL * _Nullable)url sourceApplication:(NSString * _Nullable)sourceApplication API_UNAVAILABLE(macos);
- /**
- In case you want to log deep linking.
- Call this method from inside your AppDelegate `-application:openURL:sourceApplication:annotation:`
-
- @param url The URL that was passed to your AppDelegate.
- @param sourceApplication The sourceApplication that passed to your AppDelegate.
- @param annotation The annotation that passed to your app delegate.
- */
- - (void)handleOpenURL:(NSURL * _Nullable)url
- sourceApplication:(NSString * _Nullable)sourceApplication
- withAnnotation:(id _Nullable)annotation API_UNAVAILABLE(macos);
- /**
- Call this method from inside of your AppDelegate `-application:openURL:options:` method.
- This method is functionally the same as calling the AppsFlyer method
- `-handleOpenURL:sourceApplication:withAnnotation`.
-
- @param url The URL that was passed to your app delegate
- @param options The options dictionary that was passed to your AppDelegate.
- */
- - (void)handleOpenUrl:(NSURL * _Nullable)url options:(NSDictionary * _Nullable)options API_UNAVAILABLE(macos);
- /**
- Allow AppsFlyer to handle restoration from an NSUserActivity.
- Use this method to log deep links with OneLink.
-
- @param userActivity The NSUserActivity that caused the app to be opened.
- */
- - (BOOL)continueUserActivity:(NSUserActivity * _Nullable)userActivity
- restorationHandler:(void (^ _Nullable)(NSArray * _Nullable))restorationHandler NS_AVAILABLE_IOS(9_0) API_UNAVAILABLE(macos);
- /**
- Enable AppsFlyer to handle a push notification.
-
- @see [Learn more here](https://support.appsflyer.com/hc/en-us/articles/207364076-Measuring-Push-Notification-Re-Engagement-Campaigns)
-
- @warning To make it work - set data, related to AppsFlyer under key @"af".
-
- @param pushPayload The `userInfo` from received remote notification. One of root keys should be @"af".
- */
- - (void)handlePushNotification:(NSDictionary * _Nullable)pushPayload;
- /**
- Register uninstall - you should register for remote notification and provide AppsFlyer the push device token.
-
- @param deviceToken The `deviceToken` from `-application:didRegisterForRemoteNotificationsWithDeviceToken:`
- */
- - (void)registerUninstall:(NSData * _Nullable)deviceToken;
- /**
- Get SDK version.
-
- @return The AppsFlyer SDK version info.
- */
- - (NSString *)getSDKVersion;
- /**
- This is for internal use.
- */
- - (void)remoteDebuggingCallWithData:(NSString *)data;
- /**
- This is for internal use.
- */
- - (void)remoteDebuggingCallV2WithData:(NSString *)dataAsString;
- /**
- Used to force the trigger `onAppOpenAttribution` delegate.
- Notice, re-engagement, session and launch won't be counted.
- Only for OneLink/UniversalLink/Deeplink resolving.
-
- @param URL The param to resolve into -[AppsFlyerLibDelegate onAppOpenAttribution:]
- */
- - (void)performOnAppAttributionWithURL:(NSURL * _Nullable)URL;
- /**
- @brief This property accepts a string value representing the host name for all endpoints.
- Can be used to Zero rate your application’s data usage. Contact your CSM for more information.
-
- @warning To use `default` SDK endpoint – set value to `nil`.
-
- Objective-C:
-
- <pre>
- [[AppsFlyerLib shared] setHost:@"example.com"];
- </pre>
-
- Swift:
-
- <pre>
- AppsFlyerLib.shared().host = "example.com"
- </pre>
- */
- @property(nonatomic, strong, readonly) NSString *host;
- /**
- * This function set the host name and prefix host name for all the endpoints
- **/
- - (void)setHost:(NSString *)host withHostPrefix:(NSString *)hostPrefix;
- /**
- * This property accepts a string value representing the prefix host name for all endpoints.
- * for example "test" prefix with default host name will have the address "host.appsflyer.com"
- */
- @property(nonatomic, strong, readonly) NSString *hostPrefix;
- /**
- This property is responsible for timeout between sessions in seconds.
- Default value is 5 seconds.
- */
- @property(atomic) NSUInteger minTimeBetweenSessions;
- /**
- API to shut down all SDK activities.
-
- @warning This will disable all requests from AppsFlyer SDK.
- */
- @property(atomic) BOOL isStopped;
- /**
- API to set manually Facebook deferred app link
- */
- @property(nonatomic, nullable, copy) NSURL *facebookDeferredAppLink;
- /**
- Block an events from being shared with ad networks and other 3rd party integrations
- Must only include letters/digits or underscore, maximum length: 45
- */
- @property(nonatomic, nullable, copy) NSArray<NSString *> *sharingFilter DEPRECATED_MSG_ATTRIBUTE("starting SDK version 6.4.0, please use `setSharingFilterForPartners:`");
- @property(nonatomic) NSUInteger deepLinkTimeout;
- /**
- Block an events from being shared with any partner
- This method overwrite -[AppsFlyerLib setSharingFilter:]
- */
- - (void)setSharingFilterForAllPartners DEPRECATED_MSG_ATTRIBUTE("starting SDK version 6.4.0, please use `setSharingFilterForPartners:`");
- /**
- Block an events from being shared with ad networks and other 3rd party integrations
- Must only include letters/digits or underscore, maximum length: 45
-
- The sharing filter is cleared in case if `nil` or empty array passed as a parameter.
- "all" keyword sets sharing filter for ALL partners, it is case insencitive and has highest priority
- if passed along with another values. For example, if ["all", "examplePartner1_int", "examplePartner2_int" ] passed,
- the sharing filter will be set for ALL partners.
- */
- - (void)setSharingFilterForPartners:(NSArray<NSString *> * _Nullable)sharingFilter;
- /**
- Sets or updates the user consent data related to GDPR and DMA regulations for advertising and data usage
- purposes within the application. This method must be invoked with the user's current consent status each
- time the app starts or whenever there is a change in the user's consent preferences.
-
- Note that this method does not persist the consent data across app sessions; it only applies for the
- duration of the current app session. If you wish to stop providing the consent data, you should
- cease calling this method.
-
- @param consent an instance of AppsFlyerConsent that encapsulates the user's consent information.
- */
- - (void)setConsentData:(AppsFlyerConsent *)consent;
- /**
- Enable the SDK to collect and send TCF data
-
- @param shouldCollectConsentData indicates if the TCF data collection is enabled.
- */
- - (void)enableTCFDataCollection:(BOOL)shouldCollectConsentData;
- /**
- Validate if URL contains certain string and append quiery
- parameters to deeplink URL. In case if URL does not contain user-defined string,
- parameters are not appended to the url.
-
- @param containsString string to check in URL.
- @param parameters NSDictionary, which containins parameters to append to the deeplink url after it passed validation.
- */
- - (void)appendParametersToDeepLinkingURLWithString:(NSString *)containsString
- parameters:(NSDictionary<NSString *, NSString*> *)parameters
- NS_SWIFT_NAME(appendParametersToDeeplinkURL(contains:parameters:));
- /**
- Adds array of keys, which are used to compose key path
- to resolve deeplink from push notification payload `userInfo`.
-
- @param deepLinkPath an array of strings which contains keys to search for deeplink in payload.
- */
- - (void)addPushNotificationDeepLinkPath:(NSArray<NSString *> *)deepLinkPath;
- /**
- * Allows sending custom data for partner integration purposes.
- *
- * @param partnerId ID of the partner (usually has "_int" suffix)
- * @param partnerInfo customer data, depends on the integration nature with specific partner
- */
- - (void)setPartnerDataWithPartnerId:(NSString * _Nullable)partnerId partnerInfo:(NSDictionary<NSString *, id> * _Nullable)partnerInfo
- NS_SWIFT_NAME(setPartnerData(partnerId:partnerInfo:));
- @end
- NS_ASSUME_NONNULL_END
|