SDK IOS
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
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.
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:
- Abrir o project editor, selecionar o projeto, e na aba “Build Settings” adicionar a flag “-ObjC” para a setting “Other Linker Flags”.
- 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>
- 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.
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);
Updated about 1 month ago