Sample avanzato

In questa sezione si presuppone che tu abbia già completato la guida Hello World. che ti guiderà attraverso la conversione in un'implementazione completa. Spesso rimanda alle sezioni di riferimento per lo sviluppo di questo documento.

Sostituisci la logica dell'esempio Hello World con la logica cross-profile reale

Non preoccuparti di mantenere il codice disordinato e non preoccuparti ancora delle best practice come la testabilità. Assicurati che funzioni.

Sono incluse la modifica della classe cross-profile, delle chiamate cross-profile e del fornitore. Se hai bisogno di un Context nel metodo provider o nel costruttore della classe provider, puoi aggiungerne uno come parametro e l'SDK lo fornirà automaticamente.

Dovrai decidere se le chiamate saranno asincrone o sincrone. Inoltre, devi assicurarti che tutti i tipi di parametri e tipi restituiti utilizzati dalle chiamate tra profili siano supportati.

Ristruttura la logica per avere un'architettura che puoi inviare

Leggi innanzitutto tutti i suggerimenti di architettura per evitare di dover eseguire più refactoring in conflitto. Dopo aver pianificato le modifiche, ricontrollale, ricostruisci e testa dopo ogni modifica.

Verificare la privacy e la sicurezza

Verifica di non rischiare di archiviare i dati nel profilo sbagliato o di inviare dati a un server (inclusi i log del server) dal profilo sbagliato.

  • Valuta la possibilità di designare un profilo come principale per semplificare le chiamate. Pensa a cosa succede se la logica viene eseguita su uno dei due profili.
  • Aggiorna l'interfaccia utente quando la disponibilità dell'altro profilo cambia.
  • Consulta la discussione sulle eccezioni nel caso in cui sia necessario un tuo intervento.
  • Se prevedi che gli utenti possano utilizzare l'icona dell'app solo in uno dei due profili, aggiungere l'attributo Manifest android:crossProfile = "true". In questo modo, l'app non utilizzata direttamente dall'utente non può essere delegata in bucket di standby delle app inferiori.

Aggiungere test

Consulta la documentazione relativa ai test.

Valuta le autorizzazioni

  • Se la tua app ha un consenso completo, cambia l'autorizzazione da INTERACT_ACROSS_USERS a INTERACT_ACROSS_PROFILES e implementa la richiesta di autorizzazione all'utente. Le app che dichiarano INTERACT_ACROSS_PROFILES non possono essere caricate sul Play Store finché non vengono inserite nella lista consentita, pertanto questa modifica del manifest deve essere protetta da un flag fino a quando non viene eseguita.

  • Se la tua app viene pre-concessa, ti consigliamo di farlo anche per chiedere agli utenti che l'hanno disattivata in precedenza (ma assicurati di non inviare spam agli utenti).