SDK IOS

SDK IOS

Última atualização: 30 de Agosto de 2024

Introdução

O objetivo deste manual é fornecer todas as informações necessárias para instalação e uso da ferramenta nos aplicativos desenvolvidos para plataforma iOS.

Este SDK é escrito em ObjC e realiza a coleta de dados (informações e localização) do dispositivo e envio para ClearSale. Todas as informações coletadas são dados relacionados apenas ao dispositivo, sem relação ao aplicativo integrado.

As informações de geolocalização e IDFA (Identifier for advertisers) dependem da permissão concedida pelo usuário do dispositivo, Geolocalização neste caso é necessário que o aplicativo solicite o acesso da informação de localização do usuário (o SDK não solicita permissão). Caso o aplicativo não solicite o acesso ou o usuário não conceda permissão, para localização, não será realizada a captura das informações de GeoLocation.

O SDK respeita a política de privacidade da Apple para a captura dos dados do dispositivo e o nível de permissão atribuído pelo usuário (usuário do dispositivo).

Checksum

Package Digest
CSBehavior MD5: 2329818ab396724b0b91362c7abced5a6a849deb

Para consultar o checksum do artefato baixado verifique o podfile.lock, após executar o comando pod install no seu projeto.

Checksum

Package Digest
CSBehavior MD5: 53dd028224a73c0ad9043899fb9def50dcfefc69

Para consultar o checksum do artefato baixado verifique o podfile.lock, após executar o comando pod install no seu projeto.

Checksum

Package Digest
CSBehavior MD5: 0194c7a4a2a0794a823fd7b1540504eb5e814b43

Para consultar o checksum do artefato baixado verifique o podfile.lock, após executar o comando pod install no seu projeto.

Checksum

Package Digest
CSBehavior MD5: 0194c7a4a2a0794a823fd7b1540504eb5e814b43

Para consultar o checksum do artefato baixado verifique o podfile.lock, após executar o comando pod install no seu projeto.

Instalação do Package

Instalação do Package

  • CocoaPods

O pod está disponível em um repositório privado. Para sua utilização é necessário seguir o exemplo abaixo para o PodFile:


source	'https://dev.azure.com/PublicPackagesCS/Behavior/_git/BehaviorAnalytics.SDK.IOS.Specs'
        
use_frameworks!

target 'NOME_DO_PROJETO' do
pod 'CSBehavior', '3.0.1'

 end

Instalação do Package

  • CocoaPods

O pod está disponível em um repositório privado. Para sua utilização é necessário seguir o exemplo abaixo para o PodFile:


source	'https://dev.azure.com/PublicPackagesCS/Behavior/_git/BehaviorAnalytics.SDK.IOS.Specs'
        
use_frameworks!

target 'NOME_DO_PROJETO' do
pod 'CSBehavior', '3.0.2-rc.1'

end

Instalação do Package

  • CocoaPods

O pod está disponível em um repositório privado. Para sua utilização é necessário seguir o exemplo abaixo para o PodFile:


source	'https://CS-PublicPackages@dev.azure.com/CS-PublicPackages/Behavior/_git/BehaviorAnalytics.SDK.IOS.Specs'

use_frameworks!

target 'NOME_DO_PROJETO' do
pod 'CSBehavior', '4.0.10'

 end

Instalação do Package

  • CocoaPods

O pod está disponível em um repositório privado. Para sua utilização é necessário seguir o exemplo abaixo para o PodFile:


source	'https://CS-PublicPackages@dev.azure.com/CS-PublicPackages/Behavior/_git/BehaviorAnalytics.SDK.IOS.Specs'

use_frameworks!

target 'NOME_DO_PROJETO' do
pod 'CSBehavior', '5.0.0'

end
Configuração do Projeto

Configuração do Projeto

Instruções para configuração do framework no projeto:

  1. Abrir o project editor, selecionar o projeto, e na aba “Build Settings” adicionar a flag “-ObjC” para a setting “Other Linker Flags”.

  2. Adicionar as seguintes entradas ao arquivo Info.plist do projeto de destino:
    
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>clearsale.com.br</key>
            <dict>
                <key>NSTemporaryExceptionMinimumTLSVersion</key>
                <string>TLSv1.2</string>
            </dict>
        </dict>
    </dict>
    
    <key>NSUserTrackingUsageDescription</key>
    <string>Explicação de porque o usuário precisa conceder a permissão.</string>
                        

  3. Para projetos desenvolvidos em Objective-C importar @import CSBehavior; no arquivo onde se deseja utilizar o framework.
    Para projetos desenvolvidos em Swift importar <CSBehavior/CSBehavior.h> no bridging header do projeto.

  4. Para solicitar a permissão de coleta de IDFA, é necessário adicionar o seguinte trecho de código:

    Objective-C
    
    #import <AppTrackingTransparency/AppTrackingTransparency.h>
    #import <AdSupport/AdSupport.h>
    
    if (@available(iOS 14, *)) {
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
        }];
    }
                        

    Swift
    
    import AppTrackingTransparency
    
    if #available(iOS 14, *) {
        ATTrackingManager.requestTrackingAuthorization { _ in
        }
    }
                        
Classe CSBehavior

Classe CSBehavior

CSBehavior é a classe responsável pela coleta das informações.

Construtores: esta classe não possui construtores públicos. A instância deverá ser feita através de um método estático.


  • Método Estático
Nome do método Descrição
(CSBehavior *)getInstance:(NSString *)toApp Obtém a instância da classe Behavior para um AppKey.
É necessário passar como parâmetro o AppKey (valor fornecido pela ClearSale).
  • Outros Métodos
Nome do método Descrição
(NSString *)generateSessionId Gera e retorna um identificador de sessão. Este método deve ser utilizado somente se o aplicativo não gerar identificadores únicos para cada coleta.
(void)collectDeviceInformation:(NSString *)toSessionId Realiza a coleta das informações do dispositivo vinculando ao valor de Sessão. É necessário passar como parâmetro o SessionId, valor de sessão.
  • Caso não possua um valor próprio para o SessionID utilizar o método generateSessionId().
  • O tamanho máximo de SessionID a ser usado é 128 caracteres.
  • O tamanho mínimo do SessionID a ser usado é de 6 caracteres.
  • Será lançada uma exceção caso o valor do sessionID passado não seja válido.
(void)sendEvent:(CSBUserEventType)eventType :(NSString *)sessionId Responsável por enviar um evento de usuário específico associado a uma sessão (versão beta).
(void)allowSecurity() Permite a ativação de funcionalidades de segurança no gerenciador de comportamento.
Módulo de Segurança
Uma vez ativado o módulo de segurança, torna-se obrigatória a atualização semestral. Atente-se ao período de atualização.

Módulo de Segurança

O módulo de segurança do SDK iOS é composto por uma série de funcionalidades que visam proteger nossos produtos e serviços contra ataques.

Modo de Uso

Esse módulo está disponível a partir da versão 5.0.0 do SDK. Para habilitá-lo é necessário chamar o novo método allowSecurity() antes da coleta.

Swift

var behavior: CSBehavior = CSBehavior.getInstance("APP_KEY");
behavior.allowSecurity();
behavior.collectionDeviceInformation("SESSION_ID");
        
Objective-C

CSBehavior *behavior = [[CSBehavior getInstance] @"APP_KEY" ];
[behavior allowSecurity];
[behavior collectDeviceInformation: @"SESSION_ID"];
        

Fluxo de Atualização

O módulo de segurança possui um ciclo de vida que permite o aplicativo ser mais seguro. Ao utilizar este módulo, existirá a obrigatoriedade de sempre estar com a última versão disponibilizada, sendo as datas de disponibilização em abril e outubro de cada ano.

Essas versões possuem validade de 6 meses. E, para o funcionamento correto, é necessário realizar a atualização antes que a versão anterior expire.

Exemplos

Exemplos

ObjC com valor de SessionId

CSBehavior *behavior = [CSBehavior getInstance:@"APP_KEY"];
[behavior collectDeviceInformation:@"SESSION_ID"];
            
ObjC sem valor de SessionId

CSBehavior *behavior = [CSBehavior getInstance:@"APP_KEY"];
NSString *sessionId = [behavior generateSessionId];
[behavior collectDeviceInformation:sessionId];
            
Swift com valor de SessionId

var behavior: CSBehavior = CSBehavior.getInstance("APP_KEY")
behavior.collectDeviceInformation("SESSION_ID")
            
Swift sem valor de SessionId

var behavior: CSBehavior = CSBehavior.getInstance("APP_KEY")
var sessionId: NSString = behavior.generateSessionId()
behavior.collectDeviceInformation(sessionId)
            
Projeto de Exemplo

Projeto de Exemplo

É possível visualizar a implementação do SDK em um projeto de exemplo Clicando aqui.

FAQ

FAQ

Acesse nosso FAQ Clicando Aqui

Detalhes de privacidade

Uso de dados

Todas as informações coletadas pelo SDK da ClearSale são com exclusiva finalidade de prevenção à fraude e proteção ao próprio usuário, aderente à política de segurança e privacidade das plataformas Google e Apple e à LGPD. Por isso, estas informações devem constar na política de privacidade do aplicativo.

Tipo de dados coletados

O SDK da ClearSale coleta as seguintes informações do dispositivo :

  • Localização precisa (quando habilitada permissão pelo usuário);
  • Identificadores de publicidade do dispositivo (quando habilitada permissão pelo usuário);
  • Características físicas do dispositivo/ hardware (Como tela, bateria, teclado, espaço livre em disco, modelo, nome do dispositivo);
  • Características de software (Como versão, idioma, build, controle parental);
  • Informações de rede (Como Conexões, IP);
  • Operadora do SimCard.

Política de privacidade da Google
Política de privacidade da Apple
Licença

Licença de Uso

Ao realizar o download e utilizar nosso SDK você estará concordando com a seguinte licença.

Copyright © 2024 ClearSale

Todos os direitos são reservados, sendo concedida a permissão para usar o software da maneira como está, não sendo permitido qualquer modificação ou cópia para qualquer fim. O Software é licenciado com suas atuais configurações “tal como está” e sem garantia de qualquer espécie, nem expressa e nem implícita, incluindo mas não se limitando, garantias de comercialização, adequação para fins particulares e não violação de direitos patenteados. Em nenhuma hipótese os titulares dos Direitos Autorais podem ser responsabilizados por danos, perdas, causas de ação, quer seja por contrato ou ato ilícito, ou outra ação tortuosa advinda do uso do Software ou outras ações relacionadas com este Software sem prévia autorização escrita do detentor dos direitos autorais.