/dito_ios

SDK IOS para integração com a Dito

Primary LanguageSwiftMIT LicenseMIT

DitoSDK

SDK iOS

Features

  • [ x ] Initialize
  • [ x ] Identify
  • [ x ] Track
  • [ x ] Notification
  • [ x ] Offline Management

Requirements

  • iOS 11.0+
  • Xcode 11.3.1+

Installation

Para instalar o SDK Dito em seu projeto é necessário arrastar o arquivo DitoSDK.framework, disponível na pasta Framework do projeto.

Example

Há neste repositório presente na pasta Example a forma de utilização e configuração do SDK.

Usage example

É necessário setar o App Key e App secret do seu dashboard Dito no arquivo .plist do seu projeto, utilizar as chaves exatamente como no exemplo abaixo:

plist

Initialize

É necessário fazer a inicialização do SDK no arquivo AppDelegate.swift do seu projeto.

import DitoSDK

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    ...
        
    Dito.shared.configure()
        
    ...
}

Identify

        let customData = ["x": "y"]
                
        let ditoUser = DitoUser(name: "My name",
                          gender: .masculino,
                          email: "teste@teste.com.br",
                          birthday: Date(),
                          location: "My city",
                          createdAt: Date(),
                          customData: customData)
        Dito.identify(id: "My user id", data: ditoUser)

Track

    let event = DitoEvent(action: "my-current-event-to-track")
    Dito.track(event: event)

Push Notification

Register Device
    Dito.registerDevice(token: "My notification token", tokenType: .apple)
Unregister Device
    Dito.unregisterDevice(token: "My notification token", tokenType: .apple)
Register notification reading

O método recebe como parâmetro um dictionary que é enviado no push. Não necessáriamente precisa ser implementado no método do delegate como no exemplo abaixo:

    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
        Dito.notificationRead(with: userInfo)
    }

Também é possível obter o deepLink para direcionamento de fluxo como no exemplo abaixo:

    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
        let notificationRead = Dito.notificationRead(with: userInfo)
        print(notificationRead.deepLink)
    }

Debug mode

Para ativar os logs é necessário colocar a flag EnabledDebug ativada no Arguments Passed On Launch que fica no scheme do seu projeto.

Author

ioasys, contato@ioasys.com.br

License

DitoSDK is available under the MIT license. See the LICENSE file for more info.