ministero-salute / it-dgc-verificaC19-android

VerificaC19 is the official Italian customization of the EU Digital COVID Certificate Verifier App for the Android Operating System
https://www.dgc.gov.it
Apache License 2.0
101 stars 54 forks source link

Blocco su aggiornamento dati e regole #195

Closed mosca97 closed 1 year ago

mosca97 commented 3 years ago

Your Question

All' avvio l'app si blocca sull'aggiornamento dei dati e delle regole e non permette la scansione dei certificati (versione 1.1.6). Come posso risolvere il problema? Grazie.

rawmain commented 3 years ago

Ciao @mosca97

All' avvio l'app si blocca sull'aggiornamento dei dati e delle regole e non permette la scansione dei certificati (versione 1.1.6).

Come indicato anche nelle FAQ VerificaC19, l'applicazione è utilizzabile offline per le verifiche DGC, ma richiede comunque collegamento OK ad Internet - al primo avvio post-installazione su dispositivo & periodicamente ogni successive 24h - onde :

Per il resto, attualmente l'ultima prodrelease ufficiale Android di VerificaC19 - pubblicata su Google PlayStore / Huawei AppGallery - è la 1.1.7, ma è ancora utilizzabile la precedente 1.1.6 (_vedasi valore APP_MINVERSION in Validation Rules).

mosca97 commented 3 years ago

Ciao @rawmain, ho provato a lanciare l'app sia con l' emulatore sia collegando un dispositivo fisico al PC, e pur essendo connessi entrambi ad internet riscontro questo problema

rawmain commented 3 years ago

Ciao @rwamain

ho provato a lanciare l'app sia con l' emulatore sia collegando un dispositivo fisico al PC, e pur essendo connessi entrambi ad internet riscontro questo problema

Le prodrelease ufficiali 1.1.6 e 1.1.7 usano i seguenti API endpoint :

Pertanto, in presenza di OK connessione ad Internet, non ci sono problemi in merito, utilizzando :


Se invece stai riscontrando tale situazione con tua build compilata dai sorgenti - basata su codice/commit correnti in branch develop - allora è normale.

Da 2 giorni le develop branch di app & DGC-SDK stanno includendo via merge anche commit delle branch feature/revoke - relativi all'implementazione di CRL/DRL.

Tuttavia, i nuovi API endpoint per check status CRL & sync + download dei relativi chunk NON sono ancora accessibili pubblicamente da tutti = restituiscono infatti HTTP 403 Forbidden in caso di connessione da IP sorgente NON autorizzati.


Chi è interessato ad effettuare test con il codice attuale in branch develop, ma non appartiene a team ufficiale di sviluppo / soggetti autorizzati, può eventualmente procedere, impostando temporaneamente l'utilizzo di definizioni/valori mock/test per i CRL chunk JSON nel modulo DGC-SDK.

Queste sono p.es. le mie modifiche mock per uso test-chunk basato su aggiornamento 10/11 black_list_uvci :

        release {
            buildConfigField "String", "BASE_URL", "\"https://get.dgc.gov.it/v1/dgc/\""
            buildConfigField "String", "BASE_URL_CRL", "\"https://gist.githubusercontent.com/rawmain/37c68a3f6bc1fd1008b62d0dcbd5a80f/raw/cc3d1ba88c0d4f755f399270d44e06bd9f07848b/rvktest01.json\""
            buildConfigField "String", "BASE_URL_CRL_REVOKES", "\"https://gist.githubusercontent.com/rawmain/37c68a3f6bc1fd1008b62d0dcbd5a80f/raw/cc3d1ba88c0d4f755f399270d44e06bd9f07848b/rvktest01.json\""
            buildConfigField "String", "SERVER_HOST", "\"get.dgc.gov.it\""
            buildConfigField "String", "CERTIFICATE_SHA", "\"sha256/7cZJIDPacG8FS3pq6Mvxg+7yBDM/VYc2alOcbVe/e74=\""
            buildConfigField "String", "SDK_VERSION", "\"1.0.3\""

            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    /** @GET("drl/check") */
    @GET(BuildConfig.BASE_URL_CRL)
    suspend fun getCRLStatus(@Query("version") version: Long?): Response<ResponseBody>

    /** @GET("drl") */
    @GET(BuildConfig.BASE_URL_CRL_REVOKES)
    suspend fun getRevokeList(@Query("version") version: Long?, @Query("chunk") chunk: Long?, ): Response<ResponseBody>
prokons commented 3 years ago

Ciao @rawmain ho scaricato e compilato la versione 1.1.6 da release/1.1.6 come da tuo suggerimento, però anche in questo caso continua a non fare l'aggiornamento dati. L'sdk è la 1.0.2 scaricata anch'essa dalla branch release. Sto sbagliando qualcosa? Grazie

rawmain commented 3 years ago

Ciao @prokons

ho scaricato e compilato la versione 1.1.6 da release/1.1.6 come da tuo suggerimento, però anche in questo caso continua a non fare l'aggiornamento dati. L'sdk è la 1.0.2 scaricata anch'essa dalla branch release. Sto sbagliando qualcosa? Grazie

Controlla l'impostazione per build-variant (debug o release) di app+moduli.

Tale abbinamento branch :

è infatti corretto/OK, senza necessità di modifiche, onde ottenere build-variant release funzionanti & allineate - a parte differenza versionCode/versionName - con prodrelease 1.1.7 - pubblicata su Google PlayStore / Huawei AppGallery.


Se invece vuoi compilare - per esigenze di test - anche app+moduli con impostazione build-variant debug, allora devi operare una piccola modifica.

I parametri presenti nel codice pubblico per build Debug sono infatti quelli degli endpoint di test Sogei, non accessibili pubblicamente.

Per ottenere debug variant funzionanti basta quindi modificare i valori di BASE_URL / SERVER_HOST / CERTIFICATE_SHA nel build.gradle del modulo dgc-sdk, incollando quelli definiti per release.

    buildTypes {
        debug {
            minifyEnabled false
            buildConfigField "String", "BASE_URL", "\"https://get.dgc.gov.it/v1/dgc/\""
            buildConfigField "String", "SERVER_HOST", "\"get.dgc.gov.it\""
            buildConfigField "String", "CERTIFICATE_SHA", "\"sha256/7cZJIDPacG8FS3pq6Mvxg+7yBDM/VYc2alOcbVe/e74=\""
            buildConfigField "String", "SDK_VERSION", "\"1.0.2\""
        }

        release {
            buildConfigField "String", "BASE_URL", "\"https://get.dgc.gov.it/v1/dgc/\""
            buildConfigField "String", "SERVER_HOST", "\"get.dgc.gov.it\""
            buildConfigField "String", "CERTIFICATE_SHA", "\"sha256/7cZJIDPacG8FS3pq6Mvxg+7yBDM/VYc2alOcbVe/e74=\""
            buildConfigField "String", "SDK_VERSION", "\"1.0.2\""

            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
prokons commented 3 years ago

Grazie @rawmain , ora tutto OK.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.