lpw
2024-04-15 93c16a61ab78df35cc964b38c7879f1a22c6d474
commit | author | age
93c16a 1 //
L 2 //  CrossPromotionHelper.h
3 //  AppsFlyerLib
4 //
5 //  Created by Gil Meroz on 27/01/2017.
6 //
7 //
8
9 #import <Foundation/Foundation.h>
10
11 NS_ASSUME_NONNULL_BEGIN
12
13 /**
14  AppsFlyer allows you to log and attribute installs originating
15  from cross promotion campaigns of your existing apps.
16  Afterwards, you can optimize on your cross-promotion traffic to get even better results.
17  */
18 @interface AppsFlyerCrossPromotionHelper : NSObject
19
20 /**
21  To log an impression use the following API call.
22  Make sure to use the promoted App ID as it appears within the AppsFlyer dashboard.
23
24  @param appID Promoted App ID
25  @param campaign A campaign name
26  @param parameters Additional params like `@{@"af_sub1": @"val", @"custom_param": @"val2" }`
27 */
28 + (void)logCrossPromoteImpression:(nonnull NSString *)appID
29                          campaign:(nullable NSString *)campaign
30                        parameters:(nullable NSDictionary *)parameters;
31
32 /**
33  iOS allows you to utilize the StoreKit component to open
34  the App Store while remaining in the context of your app.
35  More details at https://support.appsflyer.com/hc/en-us/articles/115004481946-Cross-Promotion-Tracking#tracking-cross-promotion-impressions
36  
37  @param appID Promoted App ID
38  @param campaign A campaign name
39  @param parameters Additional params like `@{@"af_sub1": @"val", @"custom_param": @"val2" }`
40  @param openStoreBlock Contains promoted `clickURL`
41  */
42 + (void)logAndOpenStore:(nonnull NSString *)appID
43                campaign:(nullable NSString *)campaign
44              parameters:(nullable NSDictionary *)parameters
45               openStore:(void (^)(NSURLSession *urlSession, NSURL *clickURL))openStoreBlock;
46
47 @end
48
49 NS_ASSUME_NONNULL_END