Gli aggiornamenti Over-the-Air (OTA) offrono un modo flessibile per fornire aggiornamenti delle traduzioni ad applicazioni mobili e web senza richiedere una nuova release sull'App Store, Google Play o altre piattaforme di distribuzione. Questo approccio supporta la localizzazione continua e i flussi di lavoro di sviluppo agile riducendo ritardi e processi manuali.
La funzionalità OTA in Phrase Strings si integra con le piattaforme iOS, Android, React Native, Flutter, i18next e Rails. Gli aggiornamenti per le etichette di testo vengono inviati istantaneamente alle app mobili.
È necessario creare una nuova release affinché le impostazioni aggiornate vengano applicate. Tutti i contenuti inclusi in una release devono essere disponibili in Phrase Strings, che trasmette le traduzioni direttamente all'applicazione. Se il contenuto non è presente, le traduzioni non verranno fornite.
Per le applicazioni mobili, OTA richiede l'integrazione del relativo Software Development Kit (SDK) nell'applicazione per recuperare le traduzioni da Phrase Strings in fase di esecuzione.
Consiglio
Per dettagli su distribuzione, rilascio e riferimento API, consultare il Developer Hub.
Quando si avvia per la prima volta su un dispositivo un'applicazione che implementa l'SDK iOS, Android, React Native o Flutter, viene generato un identificatore di dispositivo univoco e casuale. Questo identificatore traccia gli utenti attivi in un determinato periodo di tempo. Non viene utilizzato per nessun'altra forma o mezzo di tracciamento e non contiene alcuna informazione sull'utente o sul dispositivo.
Il numero di richieste OTA e la quantità di utenti attivi mensili (MAU) sono limitati, a seconda del piano tariffario selezionato.
MAU è il numero di dispositivi univoci dai quali vengono richieste le traduzioni. A ogni dispositivo viene assegnato un ID casuale. MAU viene calcolato in base al numero di ID univoci assegnati negli ultimi 30 giorni. Ogni interazione con i server Phrase è considerata una richiesta.
Dati inviati con le richieste OTA
L'SDK comunica con il servizio OTA per verificare la presenza di aggiornamenti e include i seguenti dettagli in ogni richiesta:
-
Identificativo del dispositivo (ad es. "F3AFCB10-80A2-84CB-94C0-27F5EF58876D". Univoco per questa app e pertanto non consente di tracciare un dispositivo specifico.)
-
Versione dell'app (ad es. "1.2.0")
-
Ultimo aggiornamento del file di traduzione (ad es. 1542187679
-
Versione dell'SDK (ad es. "1.0.0")
-
Locale (ad es. "de-DE")
-
Formato file (es. "strings")
-
Client (es. "ios")
-
Distribuzione ID (ID della distribuzione)
-
Secret dell'ambiente (per distinguere lo sviluppo dalla produzione)
Domini utilizzati dagli SDK:
Datacenter UE
-
ota.eu.phrase.com
-
cdn.eu.phrase.com
-
ota.phraseapp.com
-
cdn.phraseapp.com
Datacenter USA
-
ota.us.phrase.com
-
cdn.us.phrase.com
Gli SDK OTA di Phrase sono progettati per garantire che le app rimangano funzionali anche se l'API OTA non è disponibile. In tali casi, lo SDK ripiega sulle ultime traduzioni recuperate con successo memorizzate sul dispositivo, o sulle traduzioni in bundle incluse nel pacchetto dell'app. Ciò impedisce errori o stringhe mancanti per gli utenti finali. Per garantire un fallback affidabile, le traduzioni in bundle dovrebbero essere mantenute aggiornate a ogni rilascio dell'app.
Le distribuzioni sono una configurazione definita che stabilisce come e dove vengono consegnati gli aggiornamenti OTA per una specifica piattaforma o progetto.
Le piattaforme di destinazione sono definite all'interno della distribuzione:
-
iOS
-
Android
-
Flutter
-
i18next
-
Rails
Sono possibili distribuzioni multiple, ma idealmente c'è una distribuzione per progetto. Se si utilizza una distribuzione per iOS e Android, i segnaposto per i due formati vengono convertiti automaticamente.
Autorizzazioni
La gestione delle distribuzioni e dei rilasci OTA è limitata dall'assegnazione al progetto. Gli utenti li gestiscono solo nei progetti a cui sono assegnati.
I ruoli Proprietario, Amministratore, Project Manager, Sviluppatore e Designer hanno accesso completo alle distribuzioni e ai rilasci OTA per impostazione predefinita. Il ruolo Traduttore non ha alcun accesso.
I Proprietari e gli Amministratori hanno accesso a tutti i progetti.
Gli utenti necessitano di un'autorizzazione a livello di account per gestire le distribuzioni prima di crearne una. La nuova distribuzione si collega solo ai progetti a cui l'utente può accedere.
Per un controllo più granulare, i clienti Enterprise possono contattare il team di supporto per un ruolo personalizzato.
Fallbacks
Se i fallback della lingua sono impostati nelle impostazioni della lingua del progetto a cui è collegata la distribuzione, verranno visualizzate le stringhe della lingua selezionata se la lingua richiesta esiste, ma la chiave non è tradotta.
Se viene utilizzata una lingua specifica per paese (ad es. en-GB), ma non fa parte della release, il sistema può ripiegare su una versione standard (ad es. en) di tale lingua, se esistente nel progetto. Se la lingua richiesta non viene trovata affatto, è possibile fornire invece il locale predefinito del progetto.
I fallback non funzioneranno su chiavi collegate.
Crea una distribuzione
Per creare una distribuzione, segui questi passaggi:
-
Dalla casella nella pagina , fai clic su Configura o sul numero di configurazioni se ne esistono già alcune.
La pagina si apre e visualizza le configurazioni esistenti.
-
Fai clic su Nuova distribuzione. Si apre la finestra .
-
Nella scheda Generale, fornisci un , il a cui la distribuzione è associata, e le e le richieste.
-
Per le distribuzioni Android, fai clic sulla scheda Android per selezionare l'opzione di formato che racchiude qualsiasi traduzione, inclusi i tag HTML, in CDATA, se richiesto.
-
Dopo aver selezionato il progetto da associare alla distribuzione, la scheda Pianificazione diventa disponibile. Se necessario, utilizza questa scheda per configurare le release OTA programmate nella distribuzione.
-
-
Nella scheda Lingue di fallback, seleziona le impostazioni di fallback specifiche della distribuzione come richiesto. Le opzioni di fallback hanno la priorità come visualizzato nell'elenco.
-
Facoltativamente, fai clic sulla scheda Traduzioni per selezionare l'opzione di utilizzare l'ultima versione revisionata delle traduzioni. Abilita questa opzione solo quando lavori con il flusso di lavoro di revisione avanzato.
-
Clicca su Salva.
I dettagli della distribuzione vengono visualizzati con gli ID richiesti dagli SDK. I dettagli possono essere visualizzati nuovamente facendo clic sulla distribuzione dalla pagina .
Per aggiornare le traduzioni, crea una nuova release all'interno della distribuzione. Lo stato attuale del progetto viene esportato e reso disponibile ai client connessi.
Per creare una release, segui questi passaggi:
-
Dalla pagina Over the air, fai clic su Aggiungi release accanto alla distribuzione richiesta.
Si apre la finestra .
-
Fornisci una , la , il , le e le richieste.
Le lingue che non sono ancora state aggiunte all'elenco delle lingue della distribuzione appaiono non selezionate e non disponibili per la selezione. Aggiungi le lingue richieste alla distribuzione per renderle selezionabili nelle release future.
Se non viene selezionata manualmente alcuna lingua durante la creazione di una release, tutte le lingue configurate nella distribuzione vengono incluse nella release per impostazione predefinita.
Se necessario, inserisci dei tag per includere nella release solo le chiavi con tag specifici. L'aggiunta di un filtro tag a una release include solo le chiavi che contengono quel tag. Le chiavi prive del tag vengono escluse completamente dalla release e l'app connessa ripiega sui file di traduzione statici inclusi localmente nel suo codice sorgente per tali chiavi. Il filtraggio tramite tag funziona indipendentemente dal branching: se il branching è abilitato, seleziona il branch e il/i tag pertinente/i; se il branching non è abilitato, seleziona solo il/i tag pertinente/i.
-
Clicca su Salva.
La release viene aggiunta all'elenco in fondo alla pagina dei dettagli della distribuzione.
Per impostare pianificazioni ricorrenti per il rilascio della distribuzione, segui questi passaggi:
-
Dalla pagina , fai clic sull'icona dell'ingranaggio
accanto alla distribuzione richiesta.
Viene visualizzata la finestra .
-
Seleziona la scheda Pianifica release e fai clic su .
Vengono visualizzate le opzioni di pianificazione della release.
-
Dal menu a discesa , seleziona una delle opzioni disponibili per impostare la frequenza di rilascio:
-
-
Seleziona i giorni della settimana desiderati per i rilasci pianificati.
-
-
Fornisci un orario e il pertinente.
-
Seleziona , e per i rilasci pianificati.
-
Il campo viene visualizzato solo se il branching è abilitato nel progetto. La selezione di un branch aggiorna l'elenco delle impostazioni locali e delle lingue.
-
-
Facoltativamente, specifica le versioni dell'applicazione nei campi e .
Lascia vuoto per applicare il rilascio pianificato a tutte le versioni dell'app.
-
Fai clic su Salva.
La distribuzione viene aggiornata con le informazioni sulla pianificazione del rilascio.
La disattivazione della pianificazione interrompe il rilascio automatico della distribuzione, ma le impostazioni configurate vengono salvate.
Nota
Non esiste un'opzione nell'interfaccia utente di Strings per mettere in pausa o disabilitare temporaneamente l'OTA. Per impedire a un'app di recuperare le traduzioni, rimuovi l'ID distribuzione dalla configurazione OTA dell'app; ripristina l'ID per riprendere l'OTA. Elimina la distribuzione e creane una nuova.
L'integrazione dell'SDK mobile OTA appropriata o della libreria web consente di aggiornare le traduzioni con un solo clic e fornisce metriche per misurare l'utilizzo. I report dell'SDK mobile OTA e della libreria web forniscono informazioni preziose sugli utenti attivi dell'app e sulle loro lingue. Questo set di report è disponibile per ogni distribuzione e i dati vengono aggiornati due volte al giorno.
Vengono forniti report sul numero di utenti attivi, richieste complessive, richieste per lingua, richieste per piattaforma e per le lingue del dispositivo non fornite.
I report per ogni distribuzione sono accessibili tramite l'icona nella pagina .
Il numero di utenti attivi mostrato in questi rapporti riflette una finestra mobile di 30 giorni basata sulla data corrente, non un periodo fisso di calendario o di ciclo di fatturazione.
La documentazione tecnica per l'integrazione degli SDK OTA è disponibile nel file README di ciascun repository di progetto: