Gli aggiornamenti Over-the-Air (OTA) offrono un modo flessibile per fornire aggiornamenti delle traduzioni ad applicazioni 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 mobili.
È necessario creare una nuova versione affinché le impostazioni aggiornate vengano applicate. Tutti i contenuti inclusi in una versione 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 il numero 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 (ad es. "strings")
-
Client (ad es. "ios")
-
ID Distribuzione (ID della distribuzione)
-
Segreto 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, l'SDK ripiega sulle ultime traduzioni recuperate con successo memorizzate sul dispositivo, o sulle traduzioni in bundle incluse nel pacchetto dell'app. Ciò previene 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 utilizzare la lingua predefinita del progetto.
I fallback non funzioneranno su chiavi collegate.
L'impostazione di progetto viene applicata quando viene generato il file di release. Non dipende dall'opzione nella scheda .
L'opzione nella distribuzione viene risolta quando un dispositivo richiede una release. 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 Configure o sul numero di configurazioni se ne esistono già alcune.
Si apre la pagina che visualizza le configurazioni esistenti.
-
Fai clic su New distribution. Si apre la finestra .
-
Nella scheda General, fornisci un , indicando il a cui la distribuzione è associata, insieme alle e alle richieste.
-
Per le distribuzioni Android, fai clic sulla scheda Android per selezionare l'opzione di formato che racchiude le traduzioni, compresi eventuali tag HTML, all'interno di CDATA, se necessario.
-
Dopo aver selezionato il progetto da associare alla distribuzione, la scheda Scheduling diventa disponibile. Se necessario, utilizza questa scheda per impostare le release OTA pianificate nella distribuzione.
-
-
Nella scheda Fallback languages, seleziona le impostazioni di fallback specifiche della distribuzione secondo necessità. Le opzioni di fallback sono disposte in ordine di priorità, secondo l'ordine visualizzato nell'elenco.
-
Facoltativamente, fai clic sulla scheda Translations per selezionare l'opzione di 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 una nuova versione all'interno della distribuzione. Lo stato attuale del progetto viene esportato e reso disponibile ai client connessi.
Per creare una versione, segui questi passaggi:
-
Dalla pagina Over the air, fai clic su Aggiungi versione accanto alla distribuzione richiesta.
Si apre la finestra .
-
Fornisci una , la richiesta, il , le e le .
Le lingue non ancora aggiunte all'elenco delle lingue della distribuzione appaiono deselezionate e non disponibili per la selezione. Aggiungi le lingue richieste alla distribuzione per renderle selezionabili nelle versioni future.
Se non viene selezionata manualmente alcuna lingua durante la creazione di una versione, tutte le lingue configurate nella distribuzione vengono incluse nella versione per impostazione predefinita.
Se necessario, inserisci dei tag per includere nella versione solo le chiavi con tag specifici. L'aggiunta di un filtro tag a una versione include solo le chiavi che contengono quel tag. Le chiavi prive del tag vengono escluse completamente dalla versione 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 ramo e i tag pertinenti; se il branching non è abilitato, seleziona solo i tag pertinenti.
-
Clicca su Salva.
La versione 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 a forma di 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 al momento della creazione di una nuova distribuzione.
-
Dal menu a tendina , scegli la frequenza di rilascio selezionando una delle opzioni disponibili:
-
-
Seleziona i giorni della settimana desiderati per i rilasci pianificati.
-
-
Fornisci 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 lingue.
-
-
Facoltativamente, specifica le versioni dell'applicazione nei campi e .
Lascia vuoto per applicare la pianificazione del rilascio a tutte le versioni dell'app.
-
Fai clic su Salva.
La distribuzione viene aggiornata con le informazioni sulla pianificazione del rilascio.
La disabilitazione 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 OTA. Per impedire a un'app di recuperare le traduzioni, rimuovi l'ID distribuzione dalla configurazione OTA dell'app; ripristina l'ID per riprendere OTA. Come ultima risorsa, elimina la distribuzione e creane una nuova.
L'integrazione dell'SDK mobile o della libreria Web appropriati consente l'aggiornamento delle traduzioni con un solo clic, ma fornisce anche metriche per misurare l'utilizzo. I report dell'SDK mobile 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 periodo fisso di calendario o di ciclo di fatturazione.
La documentazione tecnica per l'integrazione degli SDK OTA è disponibile nel file README di ogni repository di progetto: