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 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 device e o nivel de permissão atribuido pelo usuário (usuário do dispositivo).

Checksum

PackageDigest
CSBehaviorMD5: 2329818ab396724b0b91362c7abced5a6a849deb

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

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:

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

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.2</string>
        </dict>
    </dict>
</dict>

<key>NSUserTrackingUsageDescription</key>
<string>Explicação de porque o usuário precisa conceder a permissão.</string>
  1. Para projetos desenvolvidos em Objective-C importar @import CSBehavior; no arquivo onde se deseja utilizar o framework.
  2. Para projetos desenvolvidos em Swift importar <CSBehavior/CSBehavior.h> no bridging header do projeto.
    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étodoDescrição
(CSBehavior )getInstance:(NSString )toAppObté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étodoDescrição
(NSString *)generateSessionIdGera 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 *)toSessionIdRealiza 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);

Projeto de Exemplo

É possível visualizar a implementação do SDK em um projeto de exemplo 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