brunodsazevedo / react-native-pagseguro-plugpag

MIT License
28 stars 3 forks source link

PrintFromFile #1

Open yurims17 opened 8 months ago

yurims17 commented 8 months ago

Bom dia, tentei de todas as formas de usar a função print, porém não consegui imprimir um arquivo de imagem, teria alguma forma explicativa de como usar esta função?

abreurapha commented 8 months ago

Também estou tentando imprimir, mas está dando erro essa funcionalidade deixou de estar disponível.

O exemplo do código que estou utilizando:

try {
    const imageUrl = 'https://www.planura.mg.leg.br/imagens/teste.jpg';

    const response = await FileSystem.downloadAsync(
      imageUrl,
      `${FileSystem.documentDirectory}img_damn_test.jpg`,
      {}
    );

    if (response) {
      const { uri } = response;
      const printResponse = await print(uri);
    }
  } catch (e) {
    console.log({ e });
  }

Vou tirar um tempo aqui para analisar a implementação nativa, parece que está idêntica a da Pagseguro, mas pode ter mundado algo que ainda não percebi. Inclusive quero testar o app nativo disponibilizado por eles pra ver se mesmo assim ainda não está sendo possível.

Link do wrapper de testes: https://github.com/pagseguro/pagseguro-plugpagservicewrapper-smartcoffeedemo

abreurapha commented 8 months ago

@yurims17 consegui compilar o APK do SmartCoffee e imprimir o arquivo de testes. Parece que é algo relativo a lib mesmo, vou fazer alguns ajustes na lib e caso consiga com sucesso, faço uma PR pra cá. Abraços!

image

brunodsazevedo commented 8 months ago

@abreurapha vou estar verificando oq ué pode estar ocorrendo

yurims17 commented 8 months ago

Obrigado pela atenção @abreurapha, então, o smart coffe funciona perfeito, desenvolvendo nativamente no java também, essa biblioteca parece estar funcionando certinho, somente a parte de impressão que não.

abreurapha commented 8 months ago

Bom, obtive minha máquina com debug liberado hoje novamente e estava dando uma olhada nesse tópico, percebi que temos esse cenário:

versão do wrapper dessa lib:
implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.7.6'

versão do app demo smart coffee:
implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.22.0'

última versão:
implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.26.1'

Clonei o repo aqui e tentei executar com a 1.22.0 entretanto, acho que muita coisa foi depreciada, visto que várias consts que eram utilizadas não estão mais presentes entre vários outros erros de build que deu.

@yurims17 quando você estava desenvolvendo nativamente, você chegou a reparar se o wrapper estava mais ou menos na mesma versão dessa lib aqui? Como você pode ver a versão que está na lib é de 2020, sendo a 1.7.6: https://github.com/pagseguro/pagseguro-sdk-plugpagservicewrapper/commits/master/wrapper-release.aar

Cheguei inclusive a "decompilar" o .aar do wrapper pra ver se consigo encontrar esse retorno do erro, mas em nenhuma versão (nem das mais novas e na da lib) e não achei nenhum vestígio.

Sigo com os testes aqui, se tiver novidades informo vocês!

abreurapha commented 8 months ago

Pessoal boas notícias :)

Consegui portar a versão 1.26.1 e está tudo funcionando perfeitamente! Crédito, débito, inicialização e também a impressão de arquivos (pelo menos no ambiente de debug está kkk).

Vou testar mais um pouco e ver se realmente não quebrei nada e assim que sobrar um tempo submeto uma PR para vc @brunodsazevedo .

Realmente o problema era a versão do wrapper que estava muito antiga, algumas implementações mudaram e algumas consts deixaram de existir, ajustei isso e fui capaz de rodar no app exemplo desse repo aqui.

Também fiz um esqueminha bem simples no meu app para abrir imagens de urls para teste mesmo, segue o teste: image

abs!

brunodsazevedo commented 8 months ago

@abreurapha na PR que tu abriu, no upgrade que chegou a fazer, chegou a alterar a versão do wrraper dentro do example/android também? Depois que percebi que está na versão 1.7.3 ao inves da versão 1.23.

yurims17 commented 8 months ago

@abreurapha, incrivelmente o meu smartcoffe estava rodando com a 1.7.6, eu consegui imprimir aqui direto com a lib da PAX e da SUNMI via native modules, se tiver interesse te passo esses SDK's nativos, tenho também pra ingênico A8 e gertec

lucasdevoliveira commented 7 months ago

@brunodsazevedo quando vc vai gerar uma nova versão com as correções para usar via npm? Estou usando sua lib e acho que estou com o mesmo problema no momento da impressão!

Quero imprimir os dados que estão na tela após a venda!

Quando chamo a função print igual ao exemplo que vc tem neste repo: https://github.com/brunodsazevedo/pagseguro-plugpag-demo nada acontece, não recebo nenhum erro, mas tbm não imprime!

brunodsazevedo commented 7 months ago

Acabei de subir as correções feitas pelo @abreurapha no npm na versão 0.1.1. Por favor, verifiquem se houvem a normalização do bug no método de impressão.

lucasdevoliveira commented 7 months ago

@brunodsazevedo fiz a instalação da nova versão: 0.1.1 e o pacote foi atualizado, porém quando vou rodar o projeto com expo start --dev-client ou expo run:android exibe o erro abaixo:

image

Observação:

Não sei se era necessário mas fiz uma alteração pensando no Configuration in React Native que você deixou no README.

dependencies {
    // ... other dependencies
    implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.26.1'
    ...
}

Com e sem a alteração acima ocorre o mesmo problema!

gilbdias commented 6 months ago

@abreurapha, incrivelmente o meu smartcoffe estava rodando com a 1.7.6, eu consegui imprimir aqui direto com a lib da PAX e da SUNMI via native modules, se tiver interesse te passo esses SDK's nativos, tenho também pra ingênico A8 e gertec

Ola @yurims17 vc tem a impressão nativa na A8? consegue compartilhar os arquivos e a implementação? Obrigado

lucasmaffei commented 1 month ago

@brunodsazevedo fiz a instalação da nova versão: 0.1.1 e o pacote foi atualizado, porém quando vou rodar o projeto com expo start --dev-client ou expo run:android exibe o erro abaixo:

image

Observação:

Não sei se era necessário mas fiz uma alteração pensando no Configuration in React Native que você deixou no README.

dependencies {
    // ... other dependencies
    implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.26.1'
    ...
}

Com e sem a alteração acima ocorre o mesmo problema!

Estou com esse problema, alguém conseguiu resolver?

brunodsazevedo commented 1 month ago

@lucasmaffei adicione essa versão no pagseguro wrapper. as ultimas versões de fato dão alguns problemas na build de android

dependencies {
    // ... other dependencies
    implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.7.6'
    ...
}
FaelN1 commented 1 month ago

@brunodsazevedo o meu esta assim

dependencies {
    // The version of react-native is set by the React Native Gradle Plugin
    implementation("com.facebook.react:react-android")

    if (hermesEnabled.toBoolean()) {
        implementation("com.facebook.react:hermes-android")
    } else {
        implementation jscFlavor
    }

    implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.7.6'
}

Porém segue com este erro: [Error: File not found] tem ideia do que pode ser?

Off: tenho que mudar dentro da lib tambem?