diff --git a/AppsFlyerLib.framework/Versions/A/AppsFlyerLib b/AppsFlyerLib.framework/Versions/A/AppsFlyerLib index 34f60c5..a38545d 100644 Binary files a/AppsFlyerLib.framework/Versions/A/AppsFlyerLib and b/AppsFlyerLib.framework/Versions/A/AppsFlyerLib differ diff --git a/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerCrossPromotionHelper.h b/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerCrossPromotionHelper.h new file mode 100644 index 0000000..7588f82 --- /dev/null +++ b/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerCrossPromotionHelper.h @@ -0,0 +1,25 @@ +// +// CrossPromotionHelper.h +// AppsFlyerLib +// +// Created by Gil Meroz on 27/01/2017. +// +// + +#import +#import + + +NS_ASSUME_NONNULL_BEGIN + +@interface AppsFlyerCrossPromotionHelper : NSObject ++ (void) trackCrossPromoteImpression:(nonnull NSString*) appID + campaign:(nullable NSString*) campaign; + ++ (void) trackAndOpenStore:(nonnull NSString*) appID + campaign:(nullable NSString *) campaign + paramters:(nullable NSDictionary*) parameters + openStore:(void (^)(NSURLSession *urlSession,NSURL *clickURL))openStoreBlock; +@end + +NS_ASSUME_NONNULL_END diff --git a/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLinkGenerator.h b/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLinkGenerator.h new file mode 100644 index 0000000..9ed4178 --- /dev/null +++ b/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLinkGenerator.h @@ -0,0 +1,40 @@ +// +// LinkGenerator.h +// AppsFlyerLib +// +// Created by Gil Meroz on 27/01/2017. +// +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/*! + * Payload container for the `generateInviteUrlWithLinkGenerator:completionHandler:` from `AppsFlyerShareInviteHelper` + */ +@interface AppsFlyerLinkGenerator: NSObject + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +/// The channel through which the invite was sent (e.g. Facebook/Gmail/etc.). Usage: Recommended +- (void)setChannel :(nonnull NSString *)channel; +- (void)setReferrerCustomerId:(nonnull NSString *)referrerCustomerId; +/// A campaign name. Usage: Optional +- (void)setCampaign :(nonnull NSString *)campaign; +- (void)setReferrerUID :(nonnull NSString *)referrerUID; +- (void)setReferrerName :(nonnull NSString *)referrerName; +/// The URL to referrer user avatar. Usage: Optional +- (void)setReferrerImageURL :(nonnull NSString *)referrerImageURL; +- (void)setAppleAppID :(nonnull NSString *)appleAppID; +- (void)setDeeplinkPath :(nonnull NSString *)deeplinkPath; +- (void)setBaseDeeplink :(nonnull NSString *)baseDeeplink; +/// A single key value custom parameter. Usage: Optional +- (void)addParameterValue :(nonnull NSString *)value forKey:(NSString*)key; +/// Multiple key value custom parameters. Usage: Optional +- (void)addParameters :(nonnull NSDictionary *)parameters; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerShareInviteHelper.h b/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerShareInviteHelper.h new file mode 100644 index 0000000..6ab745e --- /dev/null +++ b/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerShareInviteHelper.h @@ -0,0 +1,33 @@ +// +// ShareInviteHelper.h +// AppsFlyerLib +// +// Created by Gil Meroz on 27/01/2017. +// +// + +#import +#import "AppsFlyerLinkGenerator.h" + +@interface AppsFlyerShareInviteHelper : NSObject + +NS_ASSUME_NONNULL_BEGIN + +/*! + * The AppsFlyerShareInviteHelper class builds the invite URL according to various setter methods + * which allow passing on additional information on the click. + * This information is available through `onConversionDataReceived:` when the user accepts the invite and installs the app. + * In addition, campaign and channel parameters are visible within the AppsFlyer Dashboard. + */ ++ (void) generateInviteUrlWithLinkGenerator:(AppsFlyerLinkGenerator * (^)(AppsFlyerLinkGenerator *generator))generatorCreator + completionHandler:(void (^)(NSURL * _Nullable url))completionHandler; + +/*! + * It is recommended to generate an in-app event after the invite is sent to track the invites from the senders' perspective. + * This enables you to find the users that tend most to invite friends, and the media sources that get you these users. + */ ++ (void) trackInvite:(nullable NSString *)channel parameters:(nullable NSDictionary *)parameters; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerTracker.h b/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerTracker.h index 45058d0..52ea2c5 100644 --- a/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerTracker.h +++ b/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerTracker.h @@ -2,11 +2,15 @@ // AppsFlyerTracker.h // AppsFlyerLib // -// AppsFlyer iOS SDK 4.7.11 +// AppsFlyer iOS SDK 4.8.0 (597) // Copyright (c) 2013 AppsFlyer Ltd. All rights reserved. // #import +#import "AppsFlyerCrossPromotionHelper.h" +#import "AppsFlyerShareInviteHelper.h" + + // In app event names constants #define AFEventLevelAchieved @"af_level_achieved" @@ -31,7 +35,6 @@ #define AFEventUpdate @"af_update" #define AFEventOpenedFromPushNotification @"af_opened_from_push_notification" #define AFEventLocation @"af_location_coordinates" -#define AFEventOrderId @"af_order_id" #define AFEventCustomerSegment @"af_customer_segment" @@ -44,7 +47,7 @@ #define AFEventParamPrice @"af_price" #define AFEventParamContentType @"af_content_type" #define AFEventParamContentId @"af_content_id" -#define AFEventParamContentList @"ad_content_list" +#define AFEventParamContentList @"af_content_list" #define AFEventParamCurrency @"af_currency" #define AFEventParamQuantity @"af_quantity" #define AFEventParamRegistrationMethod @"af_registration_method" @@ -65,6 +68,7 @@ #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 AFEventParamAchievenmentId @"af_achievement_id" @@ -74,6 +78,7 @@ #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" @@ -114,6 +119,14 @@ #define AFEventParamPreferredNumStops @"af_preferred_num_stops" +#define kAppsFlyerOneLinkVersion @"oneLinkVersion" +#define kAppsFlyerOneLinkScheme @"oneLinkScheme" +#define kAppsFlyerOneLinkDomain @"oneLinkDomain" +#define kDefaultOneLink @"go.onelink.me" +#define kNoOneLinkFallback @"https://app.appsflyer.com" +#define kINviteAppleAppID @"af_siteid" + + typedef enum { @@ -139,7 +152,7 @@ typedef enum { @interface AppsFlyerTracker : NSObject { BOOL _isDebug; - BOOL didCollectIAdData; + BOOL permitAggregateiAdData; BOOL _useReceiptValidationSandbox; BOOL _useUninstallSandbox; EmailCryptType emailCryptType; @@ -190,6 +203,8 @@ typedef enum { @property (nonatomic, setter = setShouldCollectDeviceName:) BOOL shouldCollectDeviceName; +@property (nonatomic, setter = setAppInviteOneLink:) NSString* appInviteOneLinkID; + /* * Opt-out tracking for specific user */ @@ -203,7 +218,6 @@ typedef enum { /* * AppsFlyer delegate. See AppsFlyerTrackerDelegate abvoe */ -//@property (unsafe_unretained, nonatomic) id delegate; //RD-5419 @property (weak, nonatomic) id delegate; /* @@ -311,4 +325,28 @@ typedef enum { - (void) remoteDebuggingCallWithData:(NSString *) data; +//- (void) crossPromotionViewed:(NSString*) appID campaign:(NSString*) campaign; +//- (void) openAppStoreForAppID:(NSString*) appID campaign:(NSString*) +//campaign paramters:(NSDictionary*) parameters +// viewController: (UIViewController*) viewController; + +/*! + * @brief This property accepts a string value representing the host name for all enpoints. + * @warning To use `default` SDK endpoint – set value to `nil`. + * @code + * Objective-C: + * [[AppsFlyerTracker sharedTracker] setHost:@"example.com"]; + * Swift: + * AppsFlyerTracker.shared().host = "example.com" + * @endcode + */ + +@property (nonatomic, strong) NSString *host; + +/*! + * This property is responsible for timeout between sessions in seconds. + * Default value is 5 seconds. + */ +@property (atomic) NSUInteger minTimeBetweenSessions; + @end diff --git a/AppsFlyerTracker.framework/AppsFlyerTracker b/AppsFlyerTracker.framework/AppsFlyerTracker index 5cf3d01..ce77619 100755 Binary files a/AppsFlyerTracker.framework/AppsFlyerTracker and b/AppsFlyerTracker.framework/AppsFlyerTracker differ diff --git a/AppsFlyerTracker.framework/Headers/AppsFlyerCrossPromotionHelper.h b/AppsFlyerTracker.framework/Headers/AppsFlyerCrossPromotionHelper.h new file mode 100644 index 0000000..7588f82 --- /dev/null +++ b/AppsFlyerTracker.framework/Headers/AppsFlyerCrossPromotionHelper.h @@ -0,0 +1,25 @@ +// +// CrossPromotionHelper.h +// AppsFlyerLib +// +// Created by Gil Meroz on 27/01/2017. +// +// + +#import +#import + + +NS_ASSUME_NONNULL_BEGIN + +@interface AppsFlyerCrossPromotionHelper : NSObject ++ (void) trackCrossPromoteImpression:(nonnull NSString*) appID + campaign:(nullable NSString*) campaign; + ++ (void) trackAndOpenStore:(nonnull NSString*) appID + campaign:(nullable NSString *) campaign + paramters:(nullable NSDictionary*) parameters + openStore:(void (^)(NSURLSession *urlSession,NSURL *clickURL))openStoreBlock; +@end + +NS_ASSUME_NONNULL_END diff --git a/AppsFlyerTracker.framework/Headers/AppsFlyerLib-Prefix.pch b/AppsFlyerTracker.framework/Headers/AppsFlyerLib-Prefix.pch index 6386a3a..68f82a3 100644 --- a/AppsFlyerTracker.framework/Headers/AppsFlyerLib-Prefix.pch +++ b/AppsFlyerTracker.framework/Headers/AppsFlyerLib-Prefix.pch @@ -6,5 +6,5 @@ #import #endif -#define kAppsFlyerSDKBuildNumber @"4.7.11" -#define kJenkinsBuildNumber @"572" +#define kAppsFlyerSDKBuildNumber @"4.8.0" +#define kJenkinsBuildNumber @"597" diff --git a/AppsFlyerTracker.framework/Headers/AppsFlyerLinkGenerator.h b/AppsFlyerTracker.framework/Headers/AppsFlyerLinkGenerator.h new file mode 100644 index 0000000..9ed4178 --- /dev/null +++ b/AppsFlyerTracker.framework/Headers/AppsFlyerLinkGenerator.h @@ -0,0 +1,40 @@ +// +// LinkGenerator.h +// AppsFlyerLib +// +// Created by Gil Meroz on 27/01/2017. +// +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/*! + * Payload container for the `generateInviteUrlWithLinkGenerator:completionHandler:` from `AppsFlyerShareInviteHelper` + */ +@interface AppsFlyerLinkGenerator: NSObject + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +/// The channel through which the invite was sent (e.g. Facebook/Gmail/etc.). Usage: Recommended +- (void)setChannel :(nonnull NSString *)channel; +- (void)setReferrerCustomerId:(nonnull NSString *)referrerCustomerId; +/// A campaign name. Usage: Optional +- (void)setCampaign :(nonnull NSString *)campaign; +- (void)setReferrerUID :(nonnull NSString *)referrerUID; +- (void)setReferrerName :(nonnull NSString *)referrerName; +/// The URL to referrer user avatar. Usage: Optional +- (void)setReferrerImageURL :(nonnull NSString *)referrerImageURL; +- (void)setAppleAppID :(nonnull NSString *)appleAppID; +- (void)setDeeplinkPath :(nonnull NSString *)deeplinkPath; +- (void)setBaseDeeplink :(nonnull NSString *)baseDeeplink; +/// A single key value custom parameter. Usage: Optional +- (void)addParameterValue :(nonnull NSString *)value forKey:(NSString*)key; +/// Multiple key value custom parameters. Usage: Optional +- (void)addParameters :(nonnull NSDictionary *)parameters; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AppsFlyerTracker.framework/Headers/AppsFlyerShareInviteHelper.h b/AppsFlyerTracker.framework/Headers/AppsFlyerShareInviteHelper.h new file mode 100644 index 0000000..6ab745e --- /dev/null +++ b/AppsFlyerTracker.framework/Headers/AppsFlyerShareInviteHelper.h @@ -0,0 +1,33 @@ +// +// ShareInviteHelper.h +// AppsFlyerLib +// +// Created by Gil Meroz on 27/01/2017. +// +// + +#import +#import "AppsFlyerLinkGenerator.h" + +@interface AppsFlyerShareInviteHelper : NSObject + +NS_ASSUME_NONNULL_BEGIN + +/*! + * The AppsFlyerShareInviteHelper class builds the invite URL according to various setter methods + * which allow passing on additional information on the click. + * This information is available through `onConversionDataReceived:` when the user accepts the invite and installs the app. + * In addition, campaign and channel parameters are visible within the AppsFlyer Dashboard. + */ ++ (void) generateInviteUrlWithLinkGenerator:(AppsFlyerLinkGenerator * (^)(AppsFlyerLinkGenerator *generator))generatorCreator + completionHandler:(void (^)(NSURL * _Nullable url))completionHandler; + +/*! + * It is recommended to generate an in-app event after the invite is sent to track the invites from the senders' perspective. + * This enables you to find the users that tend most to invite friends, and the media sources that get you these users. + */ ++ (void) trackInvite:(nullable NSString *)channel parameters:(nullable NSDictionary *)parameters; + +@end + +NS_ASSUME_NONNULL_END diff --git a/AppsFlyerTracker.framework/Headers/AppsFlyerTracker.h b/AppsFlyerTracker.framework/Headers/AppsFlyerTracker.h index 45058d0..52ea2c5 100644 --- a/AppsFlyerTracker.framework/Headers/AppsFlyerTracker.h +++ b/AppsFlyerTracker.framework/Headers/AppsFlyerTracker.h @@ -2,11 +2,15 @@ // AppsFlyerTracker.h // AppsFlyerLib // -// AppsFlyer iOS SDK 4.7.11 +// AppsFlyer iOS SDK 4.8.0 (597) // Copyright (c) 2013 AppsFlyer Ltd. All rights reserved. // #import +#import "AppsFlyerCrossPromotionHelper.h" +#import "AppsFlyerShareInviteHelper.h" + + // In app event names constants #define AFEventLevelAchieved @"af_level_achieved" @@ -31,7 +35,6 @@ #define AFEventUpdate @"af_update" #define AFEventOpenedFromPushNotification @"af_opened_from_push_notification" #define AFEventLocation @"af_location_coordinates" -#define AFEventOrderId @"af_order_id" #define AFEventCustomerSegment @"af_customer_segment" @@ -44,7 +47,7 @@ #define AFEventParamPrice @"af_price" #define AFEventParamContentType @"af_content_type" #define AFEventParamContentId @"af_content_id" -#define AFEventParamContentList @"ad_content_list" +#define AFEventParamContentList @"af_content_list" #define AFEventParamCurrency @"af_currency" #define AFEventParamQuantity @"af_quantity" #define AFEventParamRegistrationMethod @"af_registration_method" @@ -65,6 +68,7 @@ #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 AFEventParamAchievenmentId @"af_achievement_id" @@ -74,6 +78,7 @@ #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" @@ -114,6 +119,14 @@ #define AFEventParamPreferredNumStops @"af_preferred_num_stops" +#define kAppsFlyerOneLinkVersion @"oneLinkVersion" +#define kAppsFlyerOneLinkScheme @"oneLinkScheme" +#define kAppsFlyerOneLinkDomain @"oneLinkDomain" +#define kDefaultOneLink @"go.onelink.me" +#define kNoOneLinkFallback @"https://app.appsflyer.com" +#define kINviteAppleAppID @"af_siteid" + + typedef enum { @@ -139,7 +152,7 @@ typedef enum { @interface AppsFlyerTracker : NSObject { BOOL _isDebug; - BOOL didCollectIAdData; + BOOL permitAggregateiAdData; BOOL _useReceiptValidationSandbox; BOOL _useUninstallSandbox; EmailCryptType emailCryptType; @@ -190,6 +203,8 @@ typedef enum { @property (nonatomic, setter = setShouldCollectDeviceName:) BOOL shouldCollectDeviceName; +@property (nonatomic, setter = setAppInviteOneLink:) NSString* appInviteOneLinkID; + /* * Opt-out tracking for specific user */ @@ -203,7 +218,6 @@ typedef enum { /* * AppsFlyer delegate. See AppsFlyerTrackerDelegate abvoe */ -//@property (unsafe_unretained, nonatomic) id delegate; //RD-5419 @property (weak, nonatomic) id delegate; /* @@ -311,4 +325,28 @@ typedef enum { - (void) remoteDebuggingCallWithData:(NSString *) data; +//- (void) crossPromotionViewed:(NSString*) appID campaign:(NSString*) campaign; +//- (void) openAppStoreForAppID:(NSString*) appID campaign:(NSString*) +//campaign paramters:(NSDictionary*) parameters +// viewController: (UIViewController*) viewController; + +/*! + * @brief This property accepts a string value representing the host name for all enpoints. + * @warning To use `default` SDK endpoint – set value to `nil`. + * @code + * Objective-C: + * [[AppsFlyerTracker sharedTracker] setHost:@"example.com"]; + * Swift: + * AppsFlyerTracker.shared().host = "example.com" + * @endcode + */ + +@property (nonatomic, strong) NSString *host; + +/*! + * This property is responsible for timeout between sessions in seconds. + * Default value is 5 seconds. + */ +@property (atomic) NSUInteger minTimeBetweenSessions; + @end diff --git a/AppsFlyerTracker.framework/Info.plist b/AppsFlyerTracker.framework/Info.plist index 2787569..37fc70c 100644 Binary files a/AppsFlyerTracker.framework/Info.plist and b/AppsFlyerTracker.framework/Info.plist differ