HolisticSolutionSDK 1.1.3

HolisticSolutionSDK 1.1.3

Appodealevgenia 维护。



  • appodeal

iOS Holistic Solution SDK

说明了如何使用 AppsFlyer 和 Firebase Remote Config A/B 测试与 2.6 版本及以上的 Appodeal iOS SDK 发送归因数据到 Stack Data Core。

目录

集成

  1. 将以下行添加到您的 Podfile
source 'https://cdn.cocoapods.org/'
source 'https://github.com/appodeal/CocoaPods.git'

install! 'cocoapods', :deterministic_uuids => false, :warn_for_multiple_pod_sources => false
use_frameworks!

def holistic_solution
    pod 'HolisticSolutionSDK'

    # If you doesn't use some of connectors you can 
    # integrate only explicit sub pods
    #
    # pod 'HolisticSolutionSDK/Core'
    # pod 'HolisticSolutionSDK/Appodeal'
    # pod 'HolisticSolutionSDK/AppsFlyer'
    # pod 'HolisticSolutionSDK/Firebase'
    # pod 'HolisticSolutionSDK/Facebook'
end

target 'App' do
  project 'App.xcodeproj'
  holistic_solution
end
  1. 运行 pod install

  2. 如果您的项目不包含 Swift 代码,请在项目根目录中创建一个空的 Swift 文件。

使用

Holistic Solution SDK 将初始化 AppsFlyer,获取 Firebase Remote Config 并将所需的所有数据同步到 Appodeal。通过 HSApp 类提供上述功能。通过调用带有 HSAppConfiguration 实例的配置方法将触发初始化。

对于HSAppConfiguration,必须的参数是服务连接器和广告服务连接器数组。默认情况下,它们是AppsFlyer、FirebaseRemoteConfig和Appodeal。在这种情况下,超时指的是单个操作的默认超时:启动归因服务或获取远程配置。默认值是30秒

我们强烈建议使用所有服务连接器。

  1. 将SDK伞头或模块导入到您的AppDelegate文件中。

Objective-C

#import <HolisticSolutionSDK/HolisticSolutionSDK.h>

Swift

import HolisticSolutionSDK
  1. 在应用程序完成启动事件时添加以下代码。

Objective-C

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // AppsFlyer
    HSAppsFlyerConnector *appsFlyer = [[HSAppsFlyerConnector alloc] initWithDevKey:<#(NSString * _Nonnull)#>
                                                                             appId:<#(NSString * _Nonnull)#>
                                                                              keys:<#(NSArray<NSString *> * _Nonnull)#>];
    // Firebase
    HSFirebaseConnector *firebase = [[HSFirebaseConnector alloc] initWithKeys:<#(NSArray<NSString *> * _Nonnull)#>
                                                                     defaults:<#(NSDictionary<NSString *,NSObject *> * _Nullable)#>
                                                           expirationDuration:<#(NSTimeInterval)#>];
    // Facebook
    HSFacebookConnector *facebook = [[HSFacebookConnector alloc] init];
    // Appodeal 
    HSAppodealConnector *appodeal = [[HSAppodealConnector alloc] init];
    // Configure HSApp
    NSArray <id<HSService>> *services = @[appsFlyer, firebase, facebook];
    HSAppConfiguration *configuration = [[HSAppConfiguration alloc] initWithServices:services 
                                                                         advertising:appodeal
                                                                             timeout:<#(NSTimeInterval)#>];
    [HSApp configureWithConfiguration:configuration completion:^(NSError *error) {
        if (error) {
            NSLog(@"%@", error.localizedDescription);
        }
        // Initialise Appodeal here
    }];
    return YES;
}

Swift

func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // AppsFlyer
    let appsFlyer = HSAppsFlyerConnector(devKey: <#T##String#>, 
                                         appId: <#T##String#>,   
                                         keys: <#T##[String]#>)
    // Firebase
    let firebase = HSFirebaseConnector(keys: <#T##[String]#>, 
                                       defaults: <#T##[String : NSObject]?#>, 
                                       expirationDuration: <#T##TimeInterval#>)
    // Facebook
    let facebook = HSFacebookConnector()
    // Appodeal 
    let appodeal = HSAppodealConnector()
    // Configure services
    let services: [HSService] = [appsFlyer, firebase, facebook]
    let configuration = HSAppConfiguration(services: services, 
                                           advertising: appodeal, 
                                           timeout: <#T##TimeInterval#>)
    HSApp.configure(configuration: configuration) { error in
        error.map { print($0.localizedDescription) }
        // Initialize Appodeal here
    }
    return true
}

检查HSApp是否已初始化。

Objective-C

BOOL inititalised = HSApp.initialised;

Swift

let inititalised = HSApp.initialised

购买

全功能SDK允许通过AppsFlyer连接器验证和跟踪应用内购买。在successfailure块中返回的数据与AppsFlyer数据相同。查看文档

Objective-C

[HSApp validateAndTrackInAppPurchaseWithProductId:<#(NSString * _Nonnull)#> 
                                            price:<#(NSString * _Nonnull)#> 
                                         currency:<#(NSString * _Nonnull)#> 
                                    transactionId:<#(NSString * _Nonnull)#> 
                             additionalParameters:<#(NSDictionary * _Nonnull)#> 
                                          success:<#^(NSDictionary * _Nonnull)success#> 
                                          failure:<#^(NSError * _Nullable, id _Nullable)failure#>];

Swift

HSApp.validateAndTrackInAppPurchase(
    productId: <#T##String#>, 
    price: <#T##String#>, 
    currency: <#T##String#>, 
    transactionId: <#T##String#>, 
    additionalParameters: <#T##[AnyHashable : Any]#>, 
    success: <#T##(([AnyHashable : Any]) -> Void)?##(([AnyHashable : Any]) -> Void)?##([AnyHashable : Any]) -> Void#>, 
    failure: <#T##((Error?, Any?) -> Void)?##((Error?, Any?) -> Void)?##(Error?, Any?) -> Void#>
)

事件

全功能SDK允许将事件发送到Firebase、AppsFlyer和Facebook分析系统。

Objective-C

[HSApp trackEvent:<#(NSString * _Nonnull)#> 
 customParameters:<#(NSDictionary<NSString *,id> * _Nullable)#>];

Swift

HSApp.trackEvent(<#T##eventName: String##String#>, 
                 customParameters: <#T##[String : Any]?#>)

服务

以下是所有支持的服务接口的描述。

AppsFlyer

AppsFlyer归因系统提供的连接器。在调用-[HSApp configureWithConfiguration:completion:]之后,此连接器将启动AppsFlyer SDK并设置转换监听器。

参数 描述
devKey 开发者密钥
appId 应用程序标识符
keys 连接器将要发送到Appodeal的转换数据键的数组。如果为空,则连接器将发送所有转换数据对象

要获取AppsFlyerTrackerDelegate,请设置连接器的delegate属性。

Objective-C

appsFlyer.delegate = self;

Swift

appsFlyer.delegate = self

Firebase

用于连接到 Firebase Remote ConfigFirebase Analytics 系统的插件。在调用 -[HSApp configureWithConfiguration:completion:] 后,此插件将启动 Firebase App(如果尚未启动)并尝试获取和激活配置。

参数 描述
默认值 默认配置
过期时间 配置的过期时间
keys 数组,包含连接器将发送到 Appodeal 的配置键。如果为空,则连接器将发送整个配置对象

Facebook

用于连接到 Facebook Analytics 系统的插件。应启用 Facebook 分析自动初始化功能。项目还应包含 所需的所有键

Appodeal

用于连接到 Appodeal SDK 的插件。在调用 -[HSApp configureWithConfiguration:completion:] 后,该插件仅从归因和产品测试系统中接收数据。**它不会初始化 Appodeal**