Gli aggiornamenti Over-the-Air (OTA) offrono un modo flessibile per fornire aggiornamenti delle traduzioni ad applicazioni per dispositivi mobili e web senza richiedere una nuova versione 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 per dispositivi mobili.
È necessario creare una nuova versione affinché le impostazioni aggiornate vengano applicate. Tutti i contenuti inclusi in un rilascio 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 (es. "F3AFCB10-80A2-84CB-94C0-27F5EF58876D"). Univoco per questa app e pertanto non consente di tracciare un dispositivo specifico.)
-
Versione dell'app (es. "1.2.0")
-
Ultimo aggiornamento del file di traduzione (es. "1542187679")
-
Versione dell'SDK (es. "1.0.0")
-
Impostazioni locali (es. "de-DE")
-
Formato file (es. "strings")
-
Client (es. "ios")
-
Distribuzione ID (ID della distribuzione)
-
Secret dell'ambiente (per distinguere tra sviluppo e 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 questi casi, l'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 che definisce come e dove vengono consegnati gli aggiornamenti OTA per una piattaforma o un progetto specifico.
Le piattaforme di destinazione sono definite all'interno della distribuzione:
-
iOS
-
Android
-
Flutter
-
i18next
-
Rails
Sono possibili più distribuzioni, ma idealmente ne esiste una 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 all'assegnazione del 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 del rilascio, il sistema può ripiegare su una versione standard (ad es. en) di quella lingua se esiste nel progetto. Se la lingua richiesta non viene trovata affatto, è possibile utilizzare il locale predefinito del progetto.
I fallback non funzioneranno su chiavi collegate.
L'impostazione del progetto viene applicata quando viene generato il file di rilascio. Non dipende dall'opzione nella scheda .
L'opzione nella distribuzione viene risolta quando un dispositivo richiede un rilascio. Copre solo le chiavi mancanti o non tradotte, non le traduzioni non verificate.
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, inserisci un , specifica a quale è associata la distribuzione e indica le e le richieste.
-
Per le distribuzioni Android, fai clic sulla scheda Android per selezionare il formato che racchiude qualsiasi traduzione, inclusi i tag HTML, in CDATA, se richiesto.
-
Dopo aver selezionato il progetto da associare alla distribuzione, la scheda Scheduling diventa disponibile. Se necessario, utilizza questa scheda per nella distribuzione.
-
-
Nella scheda Lingue di fallback, seleziona le impostazioni di fallback specifiche della distribuzione, se richiesto. Le opzioni di fallback hanno la priorità come mostrato nell'elenco.
-
Facoltativamente, fai clic sulla scheda Translations per selezionare l'opzione per usare 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 di nuovo facendo clic sulla distribuzione dalla pagina .
Per aggiornare le traduzioni, crea un nuovo rilascio all'interno della distribuzione. Lo stato attuale del progetto viene esportato e reso disponibile ai clienti connessi.
Per creare un rilascio, segui questi passaggi:
-
Dalla pagina Over the air, fai clic su Aggiungi rilascio accanto alla distribuzione richiesta.
Si apre la finestra .
-
Fornisci una , la richiesta, il , le e le .
Le impostazioni locali non ancora aggiunte all'elenco delle impostazioni locali della distribuzione appaiono non selezionate e non disponibili per la selezione. Aggiungi le impostazioni locali richieste alla distribuzione per renderle selezionabili nelle versioni future.
Se non viene selezionata manualmente alcuna impostazione locale durante la creazione di un rilascio, tutte le impostazioni locali configurate nella distribuzione vengono incluse nel rilascio per impostazione predefinita.
Se necessario, inserisci i tag per includere nel rilascio solo le chiavi con tag specifici. L'aggiunta di un filtro tag a un rilascio include solo le chiavi che contengono quel tag. Le chiavi prive del tag vengono escluse completamente dal rilascio e l'app connessa utilizza in alternativa i file di traduzione statici inclusi localmente nel suo codice sorgente per tali chiavi. Il filtraggio dei tag funziona indipendentemente dal branching: se il branching è abilitato, seleziona il branch e i tag pertinenti; se il branching non è abilitato, seleziona solo i tag pertinenti.
-
Clicca su Salva.
Il rilascio viene aggiunto 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 rilascio e fai clic su .
Vengono visualizzate le opzioni di pianificazione del rilascio.
Nota
Le opzioni di pianificazione sono disponibili anche all'atto della creazione di una nuova distribuzione.
-
Dal menu a discesa , scegli la frequenza di rilascio selezionando una delle opzioni disponibili:
-
-
Seleziona i giorni della settimana desiderati per i rilasci pianificati.
-
-
Specifica un orario e il pertinente.
-
Se necessario, 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 la release pianificata a tutte le versioni dell'app.
-
Fai clic su Salva.
La distribuzione viene aggiornata con le informazioni sulla pianificazione della release.
La disabilitazione della pianificazione interrompe la release automatica 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 della distribuzione dalla configurazione OTA dell'app; ripristina l'ID per riprendere l'OTA. Come ultima risorsa, elimina la distribuzione e creane una nuova.
L'integrazione dell'SDK per dispositivi mobili o della libreria Web appropriata consente di aggiornare le traduzioni con un solo clic, ma fornisce anche metriche per misurare l'utilizzo. I report dell'SDK per dispositivi mobili e della libreria Web forniscono informazioni preziose sugli utenti attivi dell'app e sulle lingue delle loro app. Questo set di report è disponibile per ogni distribuzione e i dati vengono aggiornati due volte al giorno.
Vengono forniti report per il numero di utenti attivi, le richieste complessive, le richieste per lingua, le 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 report riflette una finestra mobile di 30 giorni basata sulla data corrente, non un calendario fisso o un periodo di ciclo di fatturazione.
La documentazione tecnica per l'integrazione degli SDK OTA è disponibile nel file README di ogni repository di progetto: