All Projects → ministero-salute → it-dgc-verificac19-sdk-android

ministero-salute / it-dgc-verificac19-sdk-android

Licence: Apache-2.0 license
Digital Covid Certificate SDK

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to it-dgc-verificac19-sdk-android

WeDPR-Lab-Android-SDK
Android SDK of WeDPR-Lab-Core; WeDPR即时可用场景式隐私保护高效解决方案核心算法组件Android SDK
Stars: ✭ 14 (-76.27%)
Mutual labels:  sdk-android
Indoor-Navigation-Android-Mobile-SDK-2.0
SDK for Android to develop own indoor navigation apps, and Navigine demo application for Android to test indoor navigation. Now you get one code for all types of devices with less resource use.
Stars: ✭ 21 (-64.41%)
Mutual labels:  sdk-android
cybersource-android-sdk
The CyberSource InApp SDK enables developers to simply and securely incorporate mobile payments into their Android applications.
Stars: ✭ 25 (-57.63%)
Mutual labels:  sdk-android
sdk-android
📱 Documentação e Informações para integração com o SDK Android
Stars: ✭ 32 (-45.76%)
Mutual labels:  sdk-android
salesiq-mobilisten-android-sample
Sample App to integrate SalesIQ Android SDK (Mobilisten)
Stars: ✭ 13 (-77.97%)
Mutual labels:  sdk-android
AndroidSliderViewsLibrary
AndroidSliderViewsLibrary is an Android SDK library supports vertical & horizontal carousel and slideshow Views which developers simply integrate on Android project. - by @sung2063
Stars: ✭ 33 (-44.07%)
Mutual labels:  sdk-android
ada
Ada is a data driven framework for creating executable templates in any VFX DCC
Stars: ✭ 19 (-67.8%)
Mutual labels:  dcc
ESP32CommandStation
An ESP32 based DCC Command Station with integrated OpenLCB (LCC)
Stars: ✭ 69 (+16.95%)
Mutual labels:  dcc
circtools
circtools: a modular, python-based framework for circRNA-related tools that unifies several functionalities in a single, command line driven software.
Stars: ✭ 19 (-67.8%)
Mutual labels:  dcc
DCCpp
This is the library version of DCC++ for Arduino, to control railroading DCC devices.
Stars: ✭ 18 (-69.49%)
Mutual labels:  dcc
HaloContentToolScripts
Scripts for content tools (eg, 3dsmax) for various Halo games
Stars: ✭ 23 (-61.02%)
Mutual labels:  dcc

Digital Green Certificate SDK


Read this in other languages: English.

Documenti

Indice

Contesto

Questo repository contiene un Software Development Kit (SDK), rilasciato dal Ministero della Salute italiano, che consente di integrare nei sistemi di controllo degli accessi, inclusi quelli di rilevazione delle presenze, le funzionalità di verifica della Certificazione verde COVID-19, mediante la lettura del QR code.

Trattamento dati personali

Il trattamento dei dati personali svolto dalle soluzioni applicative sviluppate a partire dalla presente SDK deve essere effettuato limitatamente alle informazioni pertinenti e alle operazioni strettamente necessarie alla verifica della validità delle Certificazioni verdi COVID-19. Inoltre è fatto esplicito divieto di conservare il codice a barre bidimensionale (QR code) delle Certificazioni verdi COVID-19 sottoposte a verifica, nonché di estrarre, consultare, registrare o comunque trattare per finalità ulteriori rispetto a quelle previste per la verifica della Certificazione verde COVID-19 o le informazioni rilevate dalla lettura dei QR code e le informazioni fornite in esito ai controlli, come indicato nel DPCM 12 ottobre 2021

Installazione

E' necessario clonare questo progetto insieme ai seguenti:

nel seguente modo:

your_project_folder
|___your_app
|___sdk_repo
|___dgca-app-core-android
|___dgc-certlogic-android

Step di installazione

Step 1

Contesto: Android (in Android Studio, selezionare la voce Android nel menu in alto a sinistra)

Aggiungere la dipendenza: implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31" nel gradle (Module) dell'applicazione utente.

Step 2

Contesto: Project (in Android Studio, selezionare la voce Project nel menu in alto a sinistra)

  • Creare una nuova directory nella root del progetto chiamata buildSrc;
  • In buildSrc creare un file vuoto chiamato build.gradle.kts ed inizializzarlo con il contenuto del file build.gradle.kts
repositories {
    jcenter()
}

plugins {
    `kotlin-dsl`
}

Step 3

Contesto: Android (in Android Studio, selezionare la voce Android nel menu in alto a sinistra)

⚠️ Attenzione: Effettuare la sincronizzazione del gradle solo dopo il completamento dei punti che seguono:

Uso

L'applicazione di verifica dovrà importare la componente decoder e SDK. Nel file settings.gradle è necessario aggiungere le seguenti informazioni (da cambiare a seconda della struttura delle directory del progetto):

include ':app'  
include ':dgc-sdk'  
include ':decoder'  
rootProject.name = "dgp-whitelabel-android"  
project(':dgc-sdk').projectDir = new File("../it-dgc-verificac19-sdk-android/sdk")  
project(':decoder').projectDir = new File("../dgca-app-core-android/decoder")

A questo punto è possibile inizializzare il workmanager (LoadKeysWorker) posizionato in it.ministerodellasalute.verificaC19sdk.worker.LoadKeysWorker che consente di sincronizzare le regole di validazione e i certificati di firma prima di iniziare ad utilizzare l'applicazione.

Tra i parametri restituiti dalle API REST, c'è la Minimum SDK Version.
Questo valore è confrontato con la versione corrente dell'SDK presente in BuildConfig.SDK_VERSION, tramite il metodo it.ministerodellasalute.verificaC19sdk.model.FirstViewModel#isSDKVersionObsoleted, in modo da garantire che la versione di SDK utilizzata non sia obsoleta e potenzialmente non valida. Nel caso in cui la versione di SDK utilizzata sia inferiore a quella restituita dalle API REST, l'SDK lancerà una VerificaMinSDKVersionException che potrebbe causare un crash dell'applicazione se non gestita correttamente.

A questo punto è possibile utilizzare una libreria di scansione di QR Code a scelta che, dopo aver letto un QR Code di un EU DCC, passi la stringa estratta a
it.ministerodellasalute.verificaC19sdk.model.VerificationViewModel#init.

Esempio:

try {  
    viewModel.init(args.qrCodeText)  
}  
catch (e: VerificaMinVersionException)  
{  
    Log.d("VerificationFragment", "Min Version Exception")  
    createForceUpdateDialog()  
}

Osservando la risposta del metodo, un Certificate object è restituito it.ministerodellasalute.verificaC19sdk.model.CertificateSimple che contiene il risultato della verifica. Il data model contiene i dati relativi alla persona, la data di nascita, il timestamp di verifica e lo stato della verifica.

Basandosi su questi dati è possibile disegnare la UI e fornire all'operatore lo stato della verifica del DCC.

Contribuzione

Ogni contributo è ben accetto. Prima di procedere è buona norma consultare il Code of Conduct per ottenere una aiuto relativamente alle modalità di approccio alla community. Inoltre è possibile consultare il file CONTRIBUTING che contiene le informazioni pratiche per assicurare una contribuzione efficace e efficiente.

Contributori

Qui c'è una lista di contributori. Grazie per essere partecipi nel miglioramento del progetto giorno dopo giorno!

Licenza

Autori / Copyright

Copyright 2021 (c) Ministero della Salute.

Il file AUTHORS contiene le informazioni sugli autori.

Dettaglio Licenza

La licenza per questo repository è una Apache License 2.0. All'interno del file LICENSE sono presenti le informazioni specifiche.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].