Gli aggiornamenti Over-the-Air (OTA) offrono un modo flessibile per consegnare aggiornamenti di traduzione a applicazioni mobili e web senza richiedere un nuovo rilascio su App Store, Google Play o altre piattaforme di distribuzione. Questo approccio supporta la localizzazione continua e i flussi di lavoro di sviluppo agili 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 immediatamente inviati alle app mobili.
Deve essere creato un nuovo rilascio 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 consegnate.
Per le applicazioni mobili, OTA richiede di integrare il Software Development Kit (SDK) pertinente nell'applicazione per recuperare le traduzioni da Phrase Strings durante l'esecuzione.
Quando si avvia un'applicazione che implementa l'SDK iOS, Android, React Native o Flutter per la prima volta su un dispositivo, viene generato un identificatore di dispositivo unico e casuale. Questo identificatore tiene traccia degli utenti attivi per un determinato periodo di tempo. Non viene utilizzato per alcun altro tipo o mezzo di tracciamento e non contiene alcuna informazione su utenti o dispositivi.
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 unici da cui vengono richieste le traduzioni. Ogni dispositivo riceve un ID casuale. MAU viene calcolato in base al numero di ID unici assegnati negli ultimi 30 giorni. Ogni interazione con i server di Phrase è considerata una richiesta.
Dati inviati con le richieste OTA
L'SDK comunica con il servizio OTA per controllare gli aggiornamenti e include i seguenti dettagli con ogni richiesta:
-
Identificatore del dispositivo (ad es. "F3AFCB10-80A2-84CB-94C0-27F5EF58876D". Unico per questa app e quindi 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 SDK (ad es. "1.0.0")
-
Impostazioni locali (ad es. "de-DE")
-
Formato del file (ad es. "strings")
-
Cliente (ad es. "ios")
-
Distribuzione ID (ID della distribuzione)
-
Segreto 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 US
-
ota.us.phrase.com
-
cdn.us.phrase.com
Le frasi OTA SDK sono progettate per garantire che le app rimangano funzionali anche se l'API OTA non è disponibile. In tali casi, l'SDK torna all'ultima traduzione recuperata con successo memorizzata sul dispositivo, o alle traduzioni incluse nel pacchetto dell'app. Questo previene errori o stringhe mancanti per gli utenti finali. Per garantire un fallback affidabile, le traduzioni incluse dovrebbero essere mantenute aggiornate con ogni rilascio dell'app.
Le distribuzioni sono una configurazione impostata 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 c'è una distribuzione per progetto. Se si utilizza una distribuzione per iOS e Android, i segnaposto per i due formati vengono convertiti automaticamente.
Fallbacks
Se i fallback della lingua sono impostati nelle impostazioni della lingua del progetto a cui è collegata la distribuzione, le stringhe della lingua selezionata verranno visualizzate se la lingua richiesta esiste, ma la chiave non è tradotta.
Se viene utilizzata una lingua specifica per un paese (ad es. en-GB), ma non fa parte del rilascio, il sistema può tornare a una versione standard (ad es. en) di quella lingua se esiste nel progetto. Se la lingua richiesta non viene trovata affatto, può essere servita invece la locale predefinita 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 alcune esistono già.
Si apre la pagina e visualizza le configurazioni esistenti.
-
Fai clic su Nuova distribuzione. Si apre la finestra .
-
Nella scheda Generale, fornisci un , con cui è associato il della distribuzione, le richieste 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 necessario.
-
Dopo aver selezionato il progetto da associare alla distribuzione, la scheda Pianificazione diventa disponibile. Se necessario, utilizza questa scheda per configurare rilasci OTA programmati nella distribuzione.
-
-
Nella scheda Lingue di fallback, seleziona le impostazioni di fallback specifiche per la distribuzione come richiesto. Le opzioni di fallback sono prioritarie come visualizzato nell'elenco.
-
Facoltativamente, fai clic sulla scheda Traduzioni per selezionare l'opzione per utilizzare l'ultima versione revisionata delle traduzioni. Abilita questa opzione solo quando lavori con il flusso di lavoro di revisione avanzato.
-
Fai clic su Salva.
I dettagli di distribuzione sono visualizzati con gli ID richiesti dagli SDK. I dettagli possono essere visualizzati nuovamente facendo clic sulla distribuzione dalla pagina .
Per aggiornare le traduzioni, crea un nuovo rilascio all'interno della distribuzione. Lo stato attuale del progetto è esportato e reso disponibile ai client 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 , richiesta, , e .
Se necessario, inserisci tag per includere solo le chiavi con tag specifici nel rilascio.
-
Fai clic su Salva.
Il rilascio è aggiunto all'elenco in fondo alla pagina dei dettagli della distribuzione.
Per configurare pianificazioni ricorrenti per il rilascio della distribuzione, segui questi passaggi:
-
Dalla pagina , fai clic sull'icona della ruota dentata
accanto alla distribuzione richiesta.
Viene visualizzata la finestra .
-
Seleziona la scheda Pianifica rilascio e fai clic su .
Le opzioni di pianificazione del rilascio sono visualizzate.
Nota
Le opzioni di programmazione sono disponibili anche al momento 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 programmati.
-
-
Fornisci un orario e il pertinente.
-
Se necessario, seleziona , e per i rilasci programmati.
-
Il campo viene visualizzato solo se il branching è abilitato nel progetto. Selezionare un branch aggiorna l'elenco delle località e delle lingue.
-
-
Facoltativamente, specifica le versioni dell'app nelle aree e .
Lascia vuoto per applicare il rilascio programmato a tutte le versioni dell'app.
-
Fai clic su Salva.
La distribuzione viene aggiornata con le informazioni sulla programmazione del rilascio.
Disabilitare la programmazione interrompe il rilascio automatico della distribuzione, ma le impostazioni configurate vengono salvate.
Integrare l'SDK mobile o la libreria Web appropriata consente di aggiornare le traduzioni con un solo clic, ma fornisce anche metriche per misurare l'uso. I rapporti dell'SDK mobile e della libreria Web offrono preziose informazioni sugli utenti attivi dell'app e sulle lingue dell'app. Questo insieme di rapporti è disponibile per ogni distribuzione e i dati vengono aggiornati due volte al giorno.
I rapporti sono forniti per il numero di utenti attivi, richieste complessive, richieste per lingua, richieste per piattaforma e per lingue dei dispositivi non fornite.
I rapporti per ogni distribuzione sono accessibili tramite l'icona nella pagina .
La documentazione tecnica per integrare gli SDK OTA è disponibile nel file README di ogni archivio di progetto: