Configuração do projeto

Configuração Inicial

  • Inicialmente, será necessário adicionar o link do repositório maven do plugin ao seu projeto.
  • No arquivo build.gradle.kts raiz adicionar:
buildscript {
    ...
    repositories {
        ...
        maven {
            url = java.net.URI("https://maven.pkg.github.com/getzoop/zoop-gradle-plugin")
            credentials {
                username = System.getenv("GITHUB_USER")
                password = System.getenv("GITHUB_PAT")
            }
        }
    }
    ...
}

Dependências

  • Adicionar ao build.gradle ao nível de módulo:
plugins {
    id("kotlin-kapt")
}

android {
    buildFeatures {
        viewBinding = true
        dataBinding = true
    } 
}

dependencies {
    releaseImplementation("com.zoop.sdk.plugin:paymentinit-release:X.X.X")
    debugImplementation("com.zoop.sdk.plugin:paymentinit-debug:X.X.X")

    implementation("com.google.android.material:material:1.5.0")
    implementation("org.jetbrains.kotlin:kotlin-reflect:1.7.0")
    implementation("androidx.fragment:fragment-ktx:1.4.1")
    implementation ("com.google.code.gson:gson:2.8.9")
    implementation("com.squareup.okhttp3:okhttp:4.10.0")
    implementation("com.caverock:androidsvg-aar:1.4")
    implementation("com.github.bumptech.glide:glide:4.13.2")
    kapt("com.github.bumptech.glide:compiler:4.13.2")
}

Permissões

  • São necessárias permissões de acesso à internet
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Observação:
Necessário adicione o código AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) em sua activity principal para desabilitar o tema dark na aplicação.

Configuração do AndroidManifest

<activity
    android:name="com.zoop.sdk.plugin.paymentinit.ui.PaymentInitActivity"
    android:exported="true"
    android:launchMode="singleTask">
    <intent-filter
        android:autoVerify="true"
        android:label="@string/app_name">
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />

        <data android:scheme="https"/>
        <data android:host="zoop.com.br"/>
        <data android:pathPrefix="/${MARKETPLACE_ID}"/>
    </intent-filter>
</activity>

Observação:
Tanto MARKETPLACE_ID quanto SELLER_ID ambos serão disponibilizados durante a integração informado no onboarding

Para que seu aplicativo seja reaberto corretamente após sair do aplicativo do banco, é necessário associar o aplicativo ao domínio da Zoop

Para tal siga a documentação oficial do Android para gerar um arquivo assetlinks.json com o fingerprint do seu app.

O arquivo gerado deverá ser enviado para Zoop para que possamos vincular ao nosso domínio corretamente.

Após esse passo, você estará pronto para consumir os serviços do plugin, seguindo para inicialização