Condividi tramite


Risoluzione dei problemi di Android SDK

Importante

Visual Studio App Center è stato ritirato il 31 marzo 2025, ad eccezione delle funzionalità di Analisi e diagnostica, che continueranno a essere supportate fino al 30 giugno 2026. Ulteriori informazioni.

Quali autorizzazioni Android sono necessarie?

A seconda dei servizi usati, sono necessarie le autorizzazioni seguenti:

  • Tutti i servizi: INTERNET, ACCESS_NETWORK_STATE
  • Distribuisci: REQUEST_INSTALL_PACKAGES, DOWNLOAD_WITHOUT_NOTIFICATION

Le autorizzazioni necessarie vengono unite automaticamente nel manifesto dell'app dall'SDK.

Nessuna di queste autorizzazioni richiede l'approvazione dell'utente in fase di esecuzione, ma sono tutte autorizzazioni in fase di installazione.

I dati di analisi non sono visualizzati nel portale

  1. Assicurarsi di aver integrato correttamente i moduli SDK.

  2. Assicurarsi che l'App Secret corretto sia incluso insieme alla chiamata al metodo start(). È possibile copiare il codice esatto start() aprendo l'app nel portale e passando alla pagina Attività iniziali.

  3. Se si vogliono visualizzare i log inviati al back-end, impostare il livello di log su Dettagliato nell'applicazione e l'SDK visualizzerà i log nella console. Chiamare l'API seguente prima di avviare l'SDK.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Controlla i log che dicano "App Center SDK configurato correttamente" (a livello di log Info), quindi verifica se vedi i log delle richieste HTTPS.

  4. Assicurarsi che il dispositivo sia online.

  5. A volte, i log potrebbero richiedere alcuni minuti per essere visualizzati nel portale. Attendere un po' di tempo, se questo è il caso.

  6. Per verificare se il back-end di App Center ha ricevuto i dati, passare alla sezione Flusso di log nel servizio Analisi. I tuoi eventi dovrebbero apparire una volta inviati.

I crash non vengono visualizzati nel portale

  1. Assicurarsi di aver integrato correttamente i moduli SDK.

  2. Assicurarsi che l'App Secret corretto sia incluso insieme alla chiamata al metodo start(). È possibile copiare il codice esatto start() aprendo l'app nel portale e passando alla pagina Attività iniziali.

  3. Riavvia l'app dopo un arresto anomalo. L'SDK invierà il log degli arresti anomali solo dopo il riavvio.

  4. Se si vogliono visualizzare i log inviati al back-end, impostare il livello di log su Dettagliato nell'applicazione e l'SDK visualizzerà i log nella console. Chiamare l'API seguente prima di avviare l'SDK.

    AppCenter.setLogLevel(Log.VERBOSE);
    
    AppCenter.setLogLevel(Log.VERBOSE)
    

    Controlla i log che dicano "App Center SDK configurato correttamente" (a livello di log Info), quindi verifica se vedi i log delle richieste HTTPS.

  5. Assicurarsi che il dispositivo sia online.

  6. A volte, i log potrebbero richiedere alcuni minuti per essere visualizzati nel portale. Attendere un po' di tempo, se questo è il caso.

  7. Se si vuole verificare se l'SDK ha rilevato l'arresto anomalo all'avvio dell'app successiva, è possibile chiamare l'API per verificare se l'app si è arrestata in modo anomalo nell'ultima sessione e viene visualizzato un avviso. In alternativa, è possibile estendere il callback di arresto anomalo per verificare se è stato inviato correttamente al server.

  8. Per verificare se il back-end di App Center ha ricevuto l'arresto anomalo, passare alla sezione Flusso di log nel servizio Analisi. I tuoi arresti anomali dovrebbero apparire lì, una volta che è stato inviato.

Gli aggiornamenti distribuiti e in-app bloccano i test automatizzati dell'interfaccia utente

Se si eseguono test automatizzati dell'interfaccia utente, gli aggiornamenti in-app abilitati bloccano i test automatizzati dell'interfaccia utente, perché proveranno a eseguire l'autenticazione nel back-end di App Center. È consigliabile non abilitare App Center Distribute per i test dell'interfaccia utente.

Qual è l'impatto dell'SDK di App Center sulle dimensioni dell'app Android?

App Center SDK è progettato per avere un impatto minimo sulle dimensioni di installazione dell'applicazione.

Per illustrare questo problema, è stata creata un'applicazione Java vuota usando il modello "app vuota" di Android Studio. L'app viene compilata nella configurazione della versione e l'app è stata installata in un dispositivo che esegue Android 7.0.

I test sono stati eseguiti senza Proguard abilitato.

I numeri seguenti possono variare e dipendere dalle impostazioni di compilazione, quindi considerarli una guida approssimativa. L'impatto dell'SDK sull'app sarà ancora più basso se si usa Proguard.

Moduli di App Center usati Dimensioni APK esportate Dimensioni dell'installazione (come indicato dal dispositivo)
Nessuno (app vuota) 1,3 MB 3,43 MB
Analisi di App Center 1,4 MB 3,63 MB
Arresto anomalo di App Center 1,4 MB 3,70 MB
Distribuzione di App Center 1,4 MB 3,71 MB
Tutti i moduli di App Center 1,4 MB 3,82 MB

Proteggi il valore segreto di App Center

app_secret è un identificatore dell'app, è necessario sapere a quale app si applica il traffico e non può essere usata per recuperare o modificare i dati esistenti. app_secret Se l'utente è esposto, il rischio maggiore è l'invio di dati non validi all'app, ma non avrà alcun effetto sulla sicurezza dei dati.

Per recuperare i dati sensibili, è necessario fornire un token app/utente, generato sul lato del client. Non è possibile rendere i dati sul lato client completamente protetti.

Puoi migliorare la sicurezza dell'app usando una variabile di ambiente per inserire il segreto dell'app nel codice. In questo modo, il segreto non è visibile nel codice.

Migrazione da jCenter a Maven Central

A causa della chiusura del supporto di jCenter , tutti gli assembly sono stati spostati nel repository di Maven Central. Per usare App Center, è necessario aggiungere mavenCentral() al repository nel file Gradle come indicato di seguito:

repositories {
   google()
   mavenCentral()
}