1 - Adicionar ao projeto

Como adicionar o Plugin mPOS ao projeto.

Nesta página, você vai adicionar o Plugin mPOS ao seu projeto Android.

Pré-requisitos

Antes de configurar o projeto, confirme a versão mínima do Android e o terminal homologado que será usado na integração.

Versão do Android

A tabela abaixo lista quais versões do Android são integradas com cada versão do plugin.

PluginMinimum Android versionMaximum Android version
3.2.0+6.0 (API 23)14.0 (API 34)
3.0.0+6.0 (API 23)12.0 (API 31)

Terminais homologados

Escolha o fabricante do seu terminal por fabricante:

Pax: D180C

Gertec: MP15


Configurando o projeto

O download de dependências é realizado via Maven. No arquivo build.gradle(.kts) do projeto, adicione o repositório do GitHub Packages:

allprojects {
    repositories {
        google()
        mavenCentral()
        mavenLocal()
        maven {
            url = uri("https://maven.pkg.github.com/getzoop/zoop-package-public")

            credentials {
                username = "MyCompanyGH"    // Seu usuário do GitHub.
                password = "github_pat_..." // Sua PAT do GitHub.
            }
        }
    }
}

Em seguida, adicione o Plugin mPOS como dependência, substituindo X.Y.Z pela versão desejada:

dependencies {
    implementation("br.zoop.pos.plugin:mpos:X.Y.Z")
}
📘

A GitHub personal access token (PAT) usada deve possuir, no mínimo, permissão para ler e obter pacotes/artefatos de repositórios públicos.

📘

Caso você tenha dúvidas a respeito da GitHub PAT, acesse a página de nosso repositório público. No README, apresentamos um guia para orientar como gerar uma GitHub PAT e quais permissões conceder a ela.

Dependências

Adicione ao arquivo build.gradle(.kts) a nível de módulo:

android {
    packagingOptions {
        jniLibs {
            useLegacyPackaging = true
        }
    }
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-reflect:1.9.0")
    implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.3.0")
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1")
    implementation("com.squareup.okhttp:okhttp:2.5.0")
    implementation("com.squareup.okhttp3:okhttp:4.10.0")
}
📘

Se você estiver utilizando dispositivos Android com API inferior a 26, será necessário usar o plugin do Android Gradle 4.0 ou versão mais recente e habilitar o recurso de core library desugaring.

Kotlin

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled = true
    }

    compileOptions {
        // Flag to enable support for the new language APIs

        // For AGP 4.1+
        isCoreLibraryDesugaringEnabled = true
        // For AGP 4.0
        // coreLibraryDesugaringEnabled = true

        // Sets Java compatibility to Java 8
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

dependencies {
    // For AGP 7.4+
    coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3")
    // For AGP 7.3
    // coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.2.3")
    // For AGP 4.0 to 7.2
    // coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.9")
}

Groovy

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled true
    }

    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    // For AGP 7.4+
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
    // For AGP 7.3
    // coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.3'
    // For AGP 4.0 to 7.2
    // coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.9'
}

Permissões

Adicione as seguintes permissões ao arquivo AndroidManifest.xml:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />

<uses-feature android:name="android.hardware.bluetooth" android:required="true" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true" />
📘

Será necessário solicitar permissão do usuário para conexão Bluetooth. No aplicativo de teste temos um exemplo.

Após concluir essa configuração, siga para a ativação do Plugin mPOS.


Did this page help you?