AppsFlyerLib

Visão Geral

AppsFlyerLib é a classe principal do SDK do iOS da AppsFlyer e encapsula a maioria dos métodos.

Para importar AppsFlyerLib:

// AppDelegate.h
#import <AppsFlyerLib/AppsFlyerLib.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate, AppsFlyerLibDelegate>

@end
import AppsFlyerLib

Volte para o índice de referência do SDK.

Propriedades

advertisingIdentifier (read-only)

Declaração de propriedade

@property(nonatomic, strong, readonly) NSString *advertisingIdentifier

Descrição
O SDK da AppsFlyer coleta o advertisingIdentifier if the AdSupport.framework estiver incluído no SDK.
Você pode desabilitar esse comportamento definindo o disableAdvertisingIdentifier to true.

TipoNome
NSStringadvertisingIdentifier

anonymizeUser

Declaração de propriedade

@property(atomic) BOOL anonymizeUser;

Descrição
Log de desativação para usuário específico

TipoNome
boolanonymizeUser

appInviteOneLinkID

Declaração de propriedade

@property(nonatomic, strong, nullable, setter = setAppInviteOneLink:) NSString * appInviteOneLinkID

Descrição
Defina sua ID do OneLink a partir da configuração do OneLink. Usado em convites de usuário para gerar um OneLink.

TipoNome
NSStringappInviteOneLinkID

appleAppID

Declaração de propriedade

@property(nonatomic, strong) NSString * appleAppID

Descrição
Use essa propriedade para definir a ID Apple do aplicativo (retirado da página do aplicativo no iTunes Connect)

TipoNome
NSStringappleAppID

appsFlyerDevKey

Declaração de propriedade

@property(nonatomic, strong) NSString * appsFlyerDevKey

Descrição
Use essa propriedade para definir sua chave do desenvolvedor da AppsFlyer.

TipoNomeDescrição
NSStringappsFlyerDevKeySua chave do desenvolvedor da AppsFlyer

currencyCode

Declaração de propriedade

@property(nonatomic, strong, nullable) NSString *currencyCode

Descrição
No caso de eventos de compra in-app, você pode definir o código de moeda com a qual o usuário comprou.
O código de moeda é um código de 3 letras de acordo com as normas ISO.

Exemplo de uso

[[AppsFlyerLib shared] setCurrencyCode:@"USD"];
AppsFlyerLib.shared().currencyCode = "USD"

customData

📘

Configuração customData before first launch will have the additional data included in installs, sessions, as well as in-app events.

Declaração de propriedade

@property(nonatomic, strong, nullable, setter = setAdditionalData:) NSDictionary * customData

Descrição
Use para adicionar dados personalizados ao payload dos eventos. Você o receberá nos relatórios de dados brutos.

TipoNome
NSDictionarycustomData

customerUserID

Declaração de propriedade

@property(nonatomic, strong, nullable) NSString * customerUserID

Descrição
Caso você use sua própria ID de usuário em seu aplicativo, você pode definir essa propriedade para essa ID.
Permite que você faça referência cruzada de sua própria ID exclusiva com a ID exclusiva da AppsFlyer e as IDs de outros dispositivos

TipoNome
NSStringcustomerUserID

deepLinkDelegate

Declaração de propriedade

@property(weak, nonatomic) id<AppsFlyerDeepLinkDelegate> deepLinkDelegate

Descrição
Delegar propriedade de um objeto que está em conformidade com o protocolo DeepLinkDelegate e implementa seus métodos.

TipoNome
DeepLinkDelegatedeepLinkDelegate

Exemplo de uso

AppsFlyerLib.shared().deepLinkDelegate = self

deepLinkTimeout

Descrição
Solicitar tempo limite para o Deferred deep linking.

Unidades em milissegundos.

Declaração de propriedade

@property(nonatomic) NSUInteger deepLinkTimeout
TipoNome
NSUIntegerdeepLinkTimeout

delegate

Descrição
Representante da AppsFlyer. Consulte AppsFlyerLibDelegate.
Declaração de propriedade

@property (nonatomic, weak) id<AppsFlyerLibDelegate> delegate;
TipoNome
AppsFlyerLibDelegatedelegate

disableAdvertisingIdentifier

Declaração de propriedade

@property (nonatomic) int disableAdvertisingIdentifier;

Descrição
se AdSupport.framework não está desabilitado, o SDK coleta o advertisingIdentifier da Apple. Você pode desativar esse comportamento definindo a seguinte propriedade como YES.

TipoNome
NSStringadvertisingIdentifier

disableAppleAdsAttribution

Declaração de propriedade

@property(nonatomic) BOOL disableAppleAdsAttribution

Descrição
Disables AdServices framework-based attribution for Apple Search Ads.

TipoNome
booldisableAppleAdsAttribution

disableCollectASA

Declaração de propriedade

@property(atomic) BOOL disableCollectASA;

Descrição
Disables the collection of data from the iAd Framework. This API has no effect in v6.12.3 and above, where the iAd Framework is no longer in use.

TipoNome
booldisableCollectASA

disableIDFVCollection

Declaração de propriedade

@property(nonatomic) BOOL disableIDFVCollection;

Descrição
Para desativar a coleta do identificador do fornecedor do aplicativo (IDFV), defina disableIDFVCollection to YES.

TipoNome
booldisableIDFVCollection

disableSKAdNetwork

Declaração de propriedade

@property(nonatomic) BOOL disableSKAdNetwork

Descrição

TipoNome
booldisableSKAdNetwork

facebookDeferredAppLink

Declaração de propriedade

@property (nonatomic, nullable) int *facebookDeferredAppLink;

Descrição
Defina manualmente o deferred app link do Facebook.

TipoNome
NSStringadvertisingIdentifier

host (read-only)

Declaração de propriedade

@property(nonatomic, strong, readonly) NSString *host

Descrição
Essa propriedade aceita um valor de string representando o nome do host para todos os endpoints. Para definir o host, use setHost.

Para usar o endpoint padrão do SDK – defina o valor como nil.

TipoNome
NSStringhost

hostPrefix (read-only)

Declaração de propriedade

@property(nonatomic, strong, readonly) NSString *hostPrefix

Descrição
Essa propriedade aceita um valor de string que representa o nome do host do prefixo para todos os pontos finais. Para definir o host, use setHost.

TipoNome
NSStringhostPrefix

isDebug

Declaração de propriedade

@property(nonatomic) BOOL isDebug;

Descrição
Imprime mensagens do SDK no log do console. Deve ser desativado para compilações de produção.

TipoNome
boolisDebug

isStopped

Declaração de propriedade

@property(atomic) BOOL isStopped;

📘

Reinicialização do SDK

Configurado isStopped = true e depois defina isStopped = false

Não é necessário chamar start()

Descrição
API to shut down all SDK activities. This will disable all requests from the SDK except for those related to fetching SKAd Network data from the server.

TipoNome
boolisStopped

minTimeBetweenSessions

Declaração de propriedade

@property(atomic) NSUInteger minTimeBetweenSessions;

Descrição
Defina um valor personalizado para o tempo mínimo necessário entre as sessões.

Argumentos de entrada

TipoNomeDescrição
NSUIntegerminTimeBetweenSessionsDefine o tempo mínimo que deve passar entre duas inicializações do aplicativo para contar como duas sessões separadas. Se não estiver definido, o tempo mínimo padrão entre as sessões é de 5 segundos

oneLinkCustomDomains

Declaração de propriedade

@property(nonatomic, nullable) NSArray<NSString *> *oneLinkCustomDomains;

Descrição
Para anunciantes que usam OneLinks intuitivos.

TipoNome
NSArray<NSString *>oneLinkCustomDomains

phoneNumber

Declaração de propriedade

@property(nonatomic, nullable) NSString *phoneNumber

Descrição

TipoNome
NSStringphoneNumber

resolveDeepLinkURLs

Declaração de propriedade

@property(nonatomic, nullable) NSArray<NSString *> *resolveDeepLinkURLs;

Descrição

TipoNome
NSArray<NSString *>resolveDeepLinkURLs

Exemplo de uso
Alguns serviços de terceiros, como provedores de serviços de e-mail (ESPs), agrupam links em e-mails com seus próprios domínios de gravação de cliques. Alguns até permitem que você defina seus próprios domínios de gravação de links. Se o OneLink estiver agrupado nesses domínios, poderá limitar sua funcionalidade.

Para não ter esse problema, use setResolveDeepLinkURLs para obter o OneLink de domínios de clique que iniciam o aplicativo. Certifique-se de chamar essa API antes da inicialização do SDK.

Por exemplo, você tem três domínios de clique que redirecionam para o OneLink, que é https://meusubdominio.onelink.me/abCD. Use essa API para obter o OneLink para o qual seus domínios de clique redirecionam. Este método de API recebe uma lista de domínios que o SDK resolve.

[AppsFlyerLib shared].resolveDeepLinkURLs = @[@"example.com",@"click.example.com"];
AppsFlyerLib.shared().resolveDeepLinkURLs = ["example.com", "click.example.com"]

Isso permite que você use seu domínio de clique enquanto preserva a funcionalidade do OneLink. Os domínios de clique são responsáveis pela inicialização do aplicativo. A API, por sua vez, obtém o OneLink desses domínios de clique e, em seguida, você pode usar os dados desse OneLink para criar deep links e personalizar o conteúdo do usuário.

sharingFilter

Declaração de propriedade

@property(nonatomic, nullable) NSArray<NSString *> *sharingFilter;

Descrição

TipoNome
NSArray<NSString *>sharingFilter

shouldCollectDeviceName

Declaração de propriedade

@property(nonatomic) BOOL shouldCollectDeviceName;

Descrição
Defina esse sinalizador como SIM, para coletar o nome do dispositivo atual (ex. “Meu iPhone”).

TipoNome
boolshouldCollectDeviceName

useReceiptValidationSandbox

Declaração de propriedade

@property (nonatomic) BOOL useReceiptValidationSandbox;

Descrição
Ambiente Apple de validação de recibo de compra no aplicativo (produção ou sandbox).

TipoNome
booluseReceiptValidationSandbox

useUninstallSandbox

Declaração de propriedade

@property (nonatomic) BOOL useUninstallSandbox;

Descrição
Defina esse sinalizador para testar a desinstalação no ambiente Apple (produção ou sandbox).

TipoNome
booluseUninstallSandbox

Métodos

addPushNotificationDeepLinkPath

Assinatura do método

- (void)addPushNotificationDeepLinkPath:(NSArray<NSString *> *)deepLinkPath;
addPushNotificationDeepLinkPath(deepLinkPath: [String])

Descrição
Adiciona uma matriz de chaves, que são usadas para compor o caminho da chave para resolver o deep link a partir do payload da notificação push.

Argumentos de entrada

TipoNome
NSArray<NSString *>deepLinkPath

Retorna
void.

Exemplo de uso
Configuração básica:

[AppsFlyerLib shared] addPushNotificationDeepLinkPath:@[@"af_push_link"]]
AppsFlyerLib.shared().addPushNotificationDeepLinkPath(["af_push_link"])

Configuração avançada:

[AppsFlyerLib shared] addPushNotificationDeepLinkPath:@[@"deeply", @"nested", @"deep_link"]]
AppsFlyerLib.shared().addPushNotificationDeepLinkPath(["deeply", "nested", "deep_link"])

Esta chamada corresponde à seguinte estrutura de payload:

{
  "deeply": {
      "nested": {
          “deep_link”: “https://yourdeeplink2.onelink.me”
      }
  }
}

appendParametersToDeepLinkingURL

Assinatura do método

(void)appendParametersToDeepLinkingURLWithString:(NSString *)containsString parameters:(NSDictionary<NSString *, NSString*> *)parameters;
appendParametersToDeeplinkURL(contains: String, parameters: [String : String])

Descrição
Corresponde a URLs que contêm contains como uma substring e anexa parâmetros de consulta a eles. Caso a URL não corresponda, os parâmetros não serão anexados a ele.

🚧

Chame este método antes de chamar start

Argumentos de entrada

TipoNomeDescrição
NSStringcontainsA string para verificar a URL.
NSDictionaryparametersParâmetros a serem anexados à URL do deep link depois que ele passou na validação.

Retorna
void.

continue

Assinatura do método

- (id)continueUserActivity:(id)userActivity
restorationHandler:
(void (^_Nullable)(int *_Nullable))restorationHandler;
AppsFlyerLib.shared().continue(userActivity: NSUserActivity?, restorationHandler: (([Any]?) -> Void)?)

Descrição
Permita que a AppsFlyer lide com a restauração de um `NSUserActivity. Use este método para manipular links universais.

Argumentos de entrada

TipoNomeDescrição
NSUserActivityuserActivityThe NSUserActivity que foi passada para seu representante do aplicativo
void (^_Nullable)(int *_Nullable)restorationHandlerpassar nil

Retorna
void.

enableFacebookDeferderedApplinks

Assinatura do método

- (void)enableFacebookDeferredApplinksWithClass:(Class _Nullable)facebookAppLinkUtilityClass;
enableFacebookDeferredApplinks(with:AnyClass?)

Descrição
Ative a coleção de AppLinks adiados do Facebook.

  • Requer o SDK do Facebook e o aplicativo do Facebook no dispositivo do alvo/cliente.
  • Essa API deve ser invocada antes de iniciar o SDK da AppsFlyer para funcionar corretamente

Argumentos de entrada

TipoNomeDescrição
FBSDKAppLinkUtilityfacebookAppLinkUtilityClass

Retorna
void.

enableTCFDataCollection

Assinatura do método

- (void)enableTCFDataCollection:(BOOL)flag;
func enableTCFDataCollection(_ flag: Bool)

Descrição
Enables the collection of Transparency and Consent Framework (TCF) data from NSUserDefaults. The data was placed in UserDefaults by the device's TCF v2.2 compatible Consent Management Platform (CMP).

Argumentos de entrada

TipoNomeDescrição
BoolflagA Boolean value to enable or disable the collection of TCF data.

Retorna
void.

getAppsFlyerUID

Assinatura do método

- (NSString *)getAppsFlyerUID;
getAppsFlyerUID()

Descrição
Obter o ID do dispositivo exclusivo da AppsFlyer. O SDK gera um ID de dispositivo exclusivo da AppsFlyer na instalação do aplicativo. Quando o SDK é iniciado, esse ID é registrado como o ID da primeira instalação do aplicativo.

Argumentos de entrada
Esse método não usa argumentos de entrada.

Retorna

TipoDescrição
NSStringID interna da AppsFlyer.

getSDKVersion

Assinatura do método

- (NSString *)getSDKVersion;
getSDKVersion()

Descrição
Obtenha a versão do SDK.

Argumentos de entrada
Esse método não usa argumentos de entrada.

Retorna

TipoDescrição
NSStringA versão do SDK da AppsFlyer.

handleOpen

Assinatura do método

- (void)handleOpenUrl:(id)url options:(id)options;
AppsFlyerLib.shared().handleOpen(url: URL?, options: [AnyHashable : Any]?)

Descrição
Chame este método de dentro do seu AppDelegate openURL method.
This method handles URI-scheme for iOS 9 and above.

Argumentos de entrada

TipoNomeDescrição
NSURLurlA URL que foi passada para o representante do aplicativo.
AnyHashableoptionsO dicionário de opções que foi passado para o AppDelegate.

Retorna
void.

handlePushNotification

Assinatura do método

- (void)handlePushNotification:(NSDictionary * _Nullable)pushPayload;
AppsFlyerLib.shared().handlePushNotification(pushPayload: [AnyHashable : Any]?)

Descrição
Habilite a AppsFlyer para identificar uma notificação push.

Argumentos de entrada

TipoNomeDescrição
AnyHashablepushPayloadThe userInfo da notificação remota recebida. A menos que addPushNotificationDeepLinkPath seja usado, os dados devem estar sob a chave @“af” .

Retorna
void.

logEvent

Assinatura do método

- (void)logEvent:(NSString *)eventName withValues:(NSDictionary * _Nullable)values;
logEvent(eventName: String, withValues: [AnyHashable : Any]?)

Descrição
Use esse método para registrar um evento com parâmetros de evento.

Argumentos de entrada

TipoNomeDescrição
NSStringeventNameContém o nome do evento que pode ser fornecido a partir de constantes predefinidas
AnyHashablewithValuesdicionário de valores para manuseio por back-end

Retorna
void.

logEvent

Assinatura do método

- (void)logEventWithEventName:(NSString *)eventName
  eventValues:(NSDictionary<NSString * , id> * _Nullable)eventValues
  completionHandler:(void (^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))completionHandler;
logEvent(eventName: String, withValues: [AnyHashable : Any]?, completionHandler:(([String : Any]?, Error?) -> Void)?)

Descrição
Use esse método para registrar um evento com parâmetros de evento e passar por um manipulador de conclusão para lidar com o sucesso e o fracasso dos envios de eventos.

Argumentos de entrada

TipoNomeDescrição
NSStringeventNameContém o nome do evento que pode ser fornecido a partir de constantes predefinidas
AnyHashablewithValuesdicionário de valores para manuseio por back-end
(^ _Nullable)(NSDictionary<NSString _, id> _ _Nullable dictionary, NSError * _Nullable error))completionHandler

Retorna
void.

logLocation

Assinatura do método

- (void)logLocation:(double)longitude latitude:(double)latitude;
logLocation(longitude: Double, latitude: Double)

Descrição
Para registrar o local para geo-fencing. Faz o mesmo que o código abaixo.

Argumentos de entrada

TipoNomeDescrição
DoublelongitudeA longitude da localização
DoublelatitudeA latitude de localização

Retorna
void.

performOnAppAttribution

Assinatura do método

- (void)performOnAppAttributionWithURL:(NSURL * _Nullable)URL;
performOnAppAttribution(with:URL?)

Descrição
Usado para acionar manualmente onAppOpenAttribution delegate.

Argumentos de entrada

TipoNomeDescrição
NSURLURLO parâmetro para resolver em -[AppsFlyerLibDelegate onAppOpenAttribution:]

Retorna
void.

registerUninstall

Assinatura do método

- (void)registerUninstall:(NSData * _Nullable)deviceToken;
registerUninstall(deviceToken: Data?)

Descrição
Registre a desinstalação - você deve se registrar para notificação remota e fornecer o token do dispositivo push à AppsFlyer.

Argumentos de entrada

TipoNomeDescrição
NSDatadeviceTokenThe deviceToken vem de didRegisterForRemoteNotificationsWithDeviceToken.

Retorna
void.

setConsentData

Assinatura do método

.setConsentData(afConsent: AppsFlyerConsent)
- (void)setConsentData:(AppsFlyerConsent) afConsent

Descrição

Transfers consent data to the SDK.

Argumentos de entrada

TipoNomeDescrição
AppsFlyerConsentafConsentAn object containing user consent data

setCurrentDeviceLanguage

Assinatura do método

- (void)setCurrentDeviceLanguage:(NSString *)currentDeviceLanguage

Descrição
Use esse método para definir o idioma do dispositivo no SDK e passá-lo para a AppsFlyer.

Argumentos de entrada

TipoNomeDescrição
NSStringcurrentDeviceLanguageIdioma atual do dispositivo.

Exemplo de uso

NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]
    [[AppsFlyerLib shared] setCurrentDeviceLanguage: @language];
let language = NSLocale.current.languageCode
AppsFlyerLib.shared().currentDeviceLanguage = language

setHost

Assinatura do método

(void)setHost:(NSString *)host withHostPrefix:(NSString *)hostPrefix;
setHost(host: String, withHostPrefix: String)

Descrição
Esta função define o nome do host e o prefixo hostname para todos os endpoints.

Observação: a partir do SDK V6.11, se o valor do host estiver vazio ou nulo, a chamada da API será ignorada.

Argumentos de entrada

TipoNomeDescrição
NSStringhostnome do host.
NSStringwithHostPrefixObrigatório. prefixo do host.

Retorna
void.

Exemplo de uso

[[AppsFlyerLib shared] setHost:@"example.com" withHostPrefix:@"my_host_prefix"];
AppsFlyerLib.shared().setHost("example.com", withHostPrefix: "my_host_prefix")

setPartnerData

Assinatura do método

- (void)setPartnerDataWithPartnerId:(NSString * _Nullable)partnerId partnerInfo:(NSDictionary<NSString *, id> * _Nullable)partnerInfo;
setPartnerData(partnerId: String?, partnerInfo: [String : Any]?)

Descrição
Permite o envio de dados personalizados para fins de integração de parceiros.

Argumentos de entrada

TipoNomeDescrição
NSStringpartnerIdID do parceiro (geralmente tem _int )
NSDictionary<NSString _, id> _ _NullablepartnerInfodados do cliente, depende da natureza da integração com um parceiro específico

Retorna
void.

Exemplo de uso

NSDictionary *partnerInfo = @{
 @"puid": @"123456789",
};

[[AppsFlyerLib shared] setPartnerDataWithPartnerId: @"test_int" partnerInfo:partnerInfo];
let partnerInfo = [
  "puid":"123456789",
]

AppsFlyerLib.shared().setPartnerData(partnerId:"test_int", partnerInfo:partnerInfo)

setSharingFilterForPartners

Adicionado na V6.4
Assinatura do método

- (void)setSharingFilterForPartners:(NSArray<NSString *> * _Nullable)sharingFilter;

This function replaces the deprecated setSharingFilterForAllPartners

Descrição
Permite configurar quais parceiros o SDK deve excluir do compartilhamento de dados.

Argumentos de entrada

TipoNomeDescrição
NSArray<NSString _> _ _NullablesharingFilterUm ou mais identificadores de parceiros que você deseja excluir. Deve incluir apenas letras/dígitos e sublinhados.

Tamanho máximo da ID do parceiro: 45

Observação:
Para descobrir os IDs de parceiro necessários:

  1. Execute a API Obter integrações ativas para obter uma lista de todas as integrações ativas
  2. Use o media_source_name valores da resposta da API como valores de entrada para o método matriz partners .

Exceções:

  • Para Apple Search Ads use Apple Search Ads (e não iossearchads_int).
  • For Twitter, use twitter (e não twitter_int)

Exemplo de uso

[[AppsFlyerLib shared] setSharingFilterForPartners:@[@"examplePartner1_int"]]; // 1 partner
[[AppsFlyerLib shared] setSharingFilterForPartners:@[@"examplePartner1_int", @"examplePartner2_int"]]; // multiple partners
[[AppsFlyerLib shared] setSharingFilterForPartners:@[@"all"]]; // All partners
[[AppsFlyerLib shared] setSharingFilterForPartners:nil]; // Reset list (default)
AppsFlyerLib.shared().setSharingFilterForPartners(["examplePartner1_int"]) // 1 partner
AppsFlyerLib.shared().setSharingFilterForPartners(["examplePartner2_int", "examplePartner1_int"]) // multiple partners
AppsFlyerLib.shared().setSharingFilterForPartners(["all"]) // All partners
AppsFlyerLib.shared().setSharingFilterForPartners(nil) // Reset list (default)

setSharingFilterForAllPartners

Descontinuado na V6.4
Assinatura do método

- (void)setSharingFilterForAllPartners;
setSharingFilterForAllPartners()

This function is deprecated and has been replaced by setSharingFilterForPartners

Descrição
Block an event from being shared with integrated partners.

Argumentos de entrada
Esse método não usa argumentos de entrada.

Retorna
void

setUserEmails

Assinatura do método

- (void)setUserEmails:(NSArray<NSString *> * _Nullable)userEmails withCryptType:(EmailCryptType)type;
setUserEmails(userEmails: [String]?, with: EmailCryptType)

Descrição
Use this to set the user email(s).
Note: MD-5 and SHA-1 encryption types are deprecated starting with SDK V6.9.0. Currently, only SHA-256 and NONE are supported.

Argumentos de entrada

TipoNomeDescrição
NSArray<NSString *>userEmailsMatriz de e-mail.
EmailCryptTypetypeTipo de criptografia.

Retorna
void.

shared

Assinatura do método

(AppsFlyerLib *)shared;

Descrição
Obtém a instância singleton da classe AppsFlyerLib , criando-a se necessário.

Exemplo de uso

AppsFlyerLib.shared()

start

Assinatura do método

- (void)start;
(void) start()

Descrição
Inicia o SDK.

Argumentos de entrada
Esse método não usa argumentos de entrada.

Retorna
void.

start

Assinatura do método

- (void)startWithCompletionHandler:(void (^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))completionHandler;
start(completionHandler: (([String : Any]?, Error?) -> Void)?)

Descrição
Inicie o SDK com um manipulador de conclusão.

Argumentos de entrada

TipoNomeDescrição
void (^ _Nullable)(NSDictionary<NSString _, id> _ _Nullable dictionary, NSError * _Nullable error)completionHandler

Retorna
void.

validateAndLogInAppPurchase

(Supported from SDK v.6.14.1)

Assinatura do método

typedef void (^AFSDKValidateAndLogCompletion)(AFSDKValidateAndLogResult * _Nullable result);
- (void)validateAndLogInAppPurchase:(AFSDKPurchaseDetails *)details
                   extraEventValues:(NSDictionary * _Nullable)extraEventValues
                  completionHandler:(AFSDKValidateAndLogCompletion)completionHandler NS_AVAILABLE(10_7, 7_0);

Descrição

The method validates a purchase event with the store and if the validation is successful, the SDK sends an af_purchase event to AppsFlyer.

See detailed instructions in Validate and log in-app purchase.

Parâmetros de entrada

NomeTipoDescrição
details*'AFSDKPurchaseDetails'*An object that encapsulates all data related to the purchase provided to the validateAndLogInAppPurchase method.
extraEventValuesNSDictionary * _NullableAn optional dictionary containing additional parameters to log with the purchase event.
completionHandler*AFSDKValidateAndLogCompletionA completion handler block that is called with the result of the purchase validation and logging.

Retorna
void.

AFSDKPurchaseDetails

An object that encapsulates all data related to the purchase provided to the validateAndLogInAppPurchase método.

AFSDKPurchaseDetails parameters

NomeTipoDescrição
productIdSequência de caracteresThe product identifier for the purchase.
priceSequência de caracteresThe price of the product.
currencySequência de caracteresThe currency used for the billing operation.
transactionIdSequência de caracteresA specific identifier for the transaction.

validateAndLogInAppPurchase (LEGACY)

(Supported until SDK v.6.14.0)

Assinatura do método

- (void)validateAndLogInAppPurchase:(id)productIdentifier
price:(id)price
 currency:(id)currency
transactionId:(id)transactionId
additionalParameters:(id)params
success:(void (^_Nullable)(int *))successBlock
failure:
(void (^_Nullable)(int *_Nullable,
 id _Nullable))failedBlock;
validateAndLog(inAppPurchase: String?, price: String?, currency: String?, transactionId: String?, additionalParameters: [AnyHashable : Any]?, success: ([AnyHashable : Any]) -> Void)?, failure: ((Error?, Any?) -> Void)?)

Descrição
Para registrar e validar compras in-app, você pode chamar este método do método [completeTransaction] em seu SKPaymentTransactionObserver.

Argumentos de entrada

TipoNomeDescrição
NSStringproductIdentifierinAppPurchase em Swift.
NSStringprice
NSStringcurrency
NSStringtransactionId
NSDictionaryadditionalParameters
void (^_Nullable)(int *))successBlocksuccessBlockManipulador de conclusão para registro e validação bem-sucedidos.
void (^_Nullable)(int *_Nullable, id _Nullable))failedBlockManipulador de conclusão para falha no registro e validação.

Retorna
void.

waitForATTUserAuthorization

Assinatura do método

- (void)waitForATTUserAuthorizationWithTimeoutInterval:(id)timeoutInterval;
waitForATTUserAuthorization(timeoutInterval:)

Descrição
Aguarde a solicitação de autorização do usuário para acessar dados relacionados ao aplicativo

Argumentos de entrada

TipoNomeDescrição
NSIntegertimeoutInterval

Exemplo de uso

if (@available(iOS 14, *)) {
        [[AppsFlyerLib shared] waitForATTUserAuthorizationWithTimeoutInterval:60];
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status){
        }];
    }
if #available(iOS 14, *) {
            AppsFlyerLib.shared().waitForATTUserAuthorization(withTimeoutInterval: 60)
            ATTrackingManager.requestTrackingAuthorization { (status) in
            }
        }

Retorna
void.