SDK IOS

Última atualização: 06 de Maio de 2021

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 usuario do dispositivo. Neste caso é necessário que o aplicativo solicite o acesso delas ao usuário (o SDK não solicita permissão). Caso o aplicativo não solicite o acesso ou o usuário não conceda as permissões, a captura das informações não será feita.

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

iOS

Instalação do Package

  • CocoaPods

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

É necessário solicitar o token para download.

source	'https://csbehaviorsdk:TOKEN@dev.azure.com/vstscs/Produtos-Agile/_git/BehaviorAnalytics.SDK.IOS.Specs'

use_frameworks!

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

end

  • CocoaPods

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

É necessário solicitar o token para download.

source	'https://csbehaviorsdk:TOKEN@dev.azure.com/vstscs/Produtos-Agile/_git/BehaviorAnalytics.SDK.IOS.Specs'

use_frameworks!

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

end

Esta versão de pacote está depreciado. Recomendamos usar a versão mais atualizada no menu de versões para iOS.

Configuração

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.0</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

Descrição

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étodos Estáticos
Nome do método Descrição
(CSBehavior *)getInstance:(NSString *)toApp Obtém a instância da classe CSBehavior para um AppKey.
É necessário passar como parâmetro o AppKey (valor fornecido pela ClearSale).

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çao uma excessão caso o valor do sessionID passado não seja valido.

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 com valor de SessionId
var behavior: CSBehavior = CSBehavior.getInstance("APP_KEY");
var sessionId: NSString = behavior.generateSessionId();
behavior.collectDeviceInformation(sessionId);

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.

Licença de Uso.

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

Copyright © 2021 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.