iOS

1. Iniciar instância

Como primeiro passo inicie uma instância do sdk a partir do:

let sdk = CieloWebViewSDK.getInstance()

2. Configuração inicial

Em seguida configure o SDK a partir do objeto CieloWebViewConfigData com os seguintes parâmetros:

ParâmetroDescriçãoObrigatório
clientIdIdentificador do cliente usado para a autenticação Importante: Caso o clientId enviado seja inválido ou ausente o sdk retornará a exceção CieloWebViewSdkInvalidDataException para que o erro seja capturado e tratado.Sim
clientSecretChave secreta do cliente usada para a autenticaçãoNão
loadingAnimationAnimação no formato LottieAnimation para ser exibida no loading do SDK, caso não seja passado o sdk exibirá um indicador de loading genérico.Não
let configData = CieloWebViewConfigData(
            clientId: "CLIENT_ID",
            loadingAnimation: LottieAnimation?)
        //OU
let configData = CieloWebViewConfigData(
            clientId: "CLIENT_ID")
do {
            try sdk.setConfig(configData: configData)
        } catch let error{
            //adicionar tratamento de erro do setConfig
        }

3. Abertura do WebView

Após configurado, a webview já pode ser aberta passando os seguintes parâmetros:

ParâmetroDescriçãoObrigatório
tokenToken de autenticaçãoSim
urlChave secreta do cliente usada para a autenticaçãoSim
dataMapa de dados que pode ser consumido pelo MFESim
listenerInterface para escutar eventos da WebView.Sim
navigationControllerSerá utilizada para apresentar e fechar a tela da webviewSim

Feito isso podemos utilizar o sdk.openWebView(webViewData: webViewData) para abrir a webview

  • CieloWebViewSDKAuthError Caso tenha algum problema com o token enviado ;
  • CieloWebViewSdkInvalidDataException Caso a url passada seja inválida ;
  • CieloWebViewSdkGenericException Em caso de indisponibilidade em algum dos serviços .

Disponibilizamos uma interface CieloWebViewListener para acompanhamento do ciclo de vida da WebView, sendo implementada por quem vai consumir o SDK para reagir aos eventos retornados. Essa interface é descrita no próximo tópico

class WebViewListener: CieloWebViewListener {
          func onWebViewStarted() {}
          func onWebViewLoaded() {}
          func onWebViewFinished() {}
          func onWebViewError(exception: CieloWebViewSDKException) {}
          func onWebViewUserInteraction(interaction: UserInteraction) {}
      }

      let webViewData = CieloWebViewOpenWebView(
            token: "TOKEN",
            url: "URL",
            data: ["CHAVE" : "VALOR"],
            listener: WebViewListener(),
            navigationController: NAVIGATION CONTROLLER)
        sdk.openWebView(webViewData: webViewData)