Mobile SDK
Android
Requisiti:
- Android Studio
- minSdkVersion 19 o superiore
Importare l’SDK:
Le app possono importare l'SDK con una dipendenza Gradle che punta al repository jitpack.
In prima fase è necessario assicurarsi che jitpack sia referenziato nella sezione “allprojects” del proprio file build.gradle
a livello di progetto.
allprojects {
repositories {
// ...
maven { url "https://jitpack.io" }
// ...
}
}
Successivamente è necessario aprire il file build.gradle
a livello di app e cercare la sezione “dependencies”.
dependencies {
...
implementation 'com.github.jump-group:avacy-android-sdk:1.0.0'
...
}
Aggiungere la riga mostrata nel passo precedente, che indica a Gradle di inserire l’ultima versione dell’sdk.
Se non è già presente, aggiungere anche la dipendenza Kotlin.
dependencies {
...
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.4.21'
...
}
Una volta eseguiti i passaggi illustrati, salvare il file ed effettuare un Gradle Sync.
NB: per le versioni di Android Studio più recenti, alla creazione di un nuovo progetto, nel file settings.gradle verrà inserito in automatico un handler per la gestione delle dipendenze.
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven { url "https://jitpack.io" }
}
}
Questo snippet sostituisce il codice inserito in build.gradle
(lato progetto) e, in sostanza, indica al progetto di risolvere le dipendenze dal file settings piuttosto che dal file di build di Gradle. Se già si sta lavorando su un progetto le cui dipendenze sono inserite nella sezione allprojects
, basta cancellare questo snippet e rieseguire il sync di Gradle.
Aggiornare il file AndroidManifest.xml:
Per eseguire operazioni di rete nell’applicazione, includere le seguenti autorizzazioni all’interno del file AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Inizializzare l’SDK:
Aggiungere quanto segue al metodo onCreate nella classe Application.
Nota: BASE_URL
è l'URL della pagina dei consensi fornita da Avacy.
AvacyCMP.init( this, BASE_URL )
Features implementate:
Controllo del consenso:
Aggiungere quanto segue per verificare se è già stato prestato il consenso all’ultima versione della privacy policy, in caso contrario mostra il banner del consenso.
Nota: il contesto deve essere necessariamente un contesto dell'interfaccia utente.
AvacyCMP.check(this) // context: this
Oppure usa il seguente codice per intercettare qualsiasi errore si verifichi durante il caricamento.
AvacyCMP.check(context, object : AvacyCMP.OnCMPReady() {
override fun onError(error: String?) {
// gestione dell'errore
}
})
Mostrare il centro preferenze:
Aggiungere il seguente codice per mostrare il Centro Preferenze e modificare il consenso corrente.
Nota: il contesto deve essere necessariamente un contesto dell'interfaccia utente.
AvacyCMP.showPreferenceCenter(context)
oppure, sempre nel caso si vogliano intercettare gli errori:
AvacyCMP.check(context, object : AvacyCMP.OnCMPReady() {
override fun onError(error: String?) {
// gestione dell'errore
}
})
iOS
Requisiti:
- iOS 11.0+
- Xcode 12+
- Swift 5.1+
CocoaPods:
CocoaPods è un gestore delle dipendenze per i progetti Cocoa. Per le istruzioni sull'utilizzo e l'installazione, visitare il loro sito web. Nella fattispecie, basta digitare i seguenti comandi:
sudo gem install cocoapods
e, nella root del proprio progetto, digitare
pod init
Questo comando creerà un file di testo chiamato Podfile
, nel quale vanno dichiarate a mano tutte le dipendenze del progetto. Per integrare AvacySdk nel proprio progetto Xcode utilizzando CocoaPods, specificarlo nel Podfile:
pod 'AvacyCmpSdk', '1.0.11'
Successivamente, lanciare il comando
pod update
Inizializzare l’SDK:
Importare AvacyCmpSdk
e aggiungere quanto segue all’applicazione:
- Aggiungere il metodo
didFinishLaunchingWithOptions
nel fileAppDelegate
.
Nota: BASE_URL
è l'URL della pagina dei consensi fornita da Avacy.
AvacyCMP.configure(url: BASE_URL)
Features implementate:
Controllo del consenso:
Aggiungere quanto segue per verificare se è già stato prestato il consenso all’ultima versione della privacy policy, in caso contrario mostra il banner del consenso.
Nota: viewController
deve essere obbligatoriamente un UIViewController
.
Aggiungere una property nel ViewController
let avacy = AvacyCMP()
e chiama il metodo startCheck
alla funzione viewDidLoad
avacy.startCheck(on viewController: UIViewController, listener: OnCMPReady?)
Dove:
UIViewController
è un’istanza di una UIViewController
. Per esempio, se si è già in una UIViewController
(o in una classe che la estende), questa variabile può assumere il valore self.
OnCMPReady
è un listener che implementa il protocollo OnCMPReady
per la cattura degli errori al caricamento. Si può passare anche il valore nil.
Mostrare il centro preferenze:
Aggiungere il seguente codice per mostrare il centro preferenze e modificare i consensi correnti.
Nota: viewController
deve essere obbligatoriamente un UIViewController
.
Aggiungere una property nel ViewController
let avacy = AvacyCMP()
e, successivamente, chiamare il metodo showPreferences
nel proprio evento custom:
avacy.showPreferences(on viewController: UIViewController,listener: OnCMPReady?)