New Relic ha guadagnato nome e fama per essere la soluzione numero uno per il monitoraggio delle prestazioni delle applicazioni. Ti dice cosa devi sapere sulle tue applicazioni per migliorare le prestazioni riducendo i tempi di risposta e aumentando il throughput delle applicazioni. Ti aiuta a rintracciare i colli di bottiglia e monitorare l'infrastruttura del server.
Tuttavia, stai leggendo questo articolo, perché sei interessato al mobile. Non ti preoccupare, New Relic ha anche le spalle coperte. New Relic Mobile ti consente di monitorare le prestazioni delle applicazioni iOS e Android. Alan ha recentemente scritto su New Relic per Android quindi ti suggerisco di dare un'occhiata al suo tutorial se sei interessato ad Android.
In questo tutorial, ti mostrerò come integrare New Relic in un'applicazione iOS. Scoprirai quanto è facile configurare New Relic e cosa può fare per la tua applicazione iOS in termini di prestazioni e assicurarti che gli utenti ottengano la migliore esperienza possibile usando il tuo prodotto.
Se pensi che il monitoraggio delle prestazioni delle applicazioni sia utile solo se mantieni un'applicazione web su larga scala come Facebook o Twitter, allora sei sorpreso. Monitorare le prestazioni delle applicazioni è sempre utile se ti interessi dell'esperienza utente del tuo prodotto e dei suoi utenti.
Esistono diversi motivi per cui il monitoraggio delle prestazioni è fondamentale per il successo della tua applicazione. Non importa quanto spesso parli con gli utenti della tua applicazione o quanto sia grande il tuo gruppo di tester, non sai come ognuno dei tuoi utenti utilizza la tua applicazione e quali problemi incontrano.
Non molto tempo fa, ho sviluppato e gestito un'applicazione per iPad integrata con Aperture e iPhoto. Sebbene il concetto fosse piuttosto semplice, ero spesso sconcertato dal modo in cui le persone stavano usando la mia applicazione. Credimi quando dico che la tua applicazione verrà utilizzata in modi che non avevi previsto o nemmeno pensato. Questo è perfetto e perfettamente normale, ma assicurati di avere una soluzione che ti indichi cosa devi sapere sullo stato di salute e le prestazioni della tua applicazione in modo da poter ottimizzare i casi d'uso che non hai considerato durante lo sviluppo.
Un altro comune malinteso è che i dispositivi mobili sono velocissimi e tutti hanno accesso a una connessione LTE estremamente veloce. Ho paura che la verità sia meno rosea. New Relic ti permette di monitorare le richieste API che l'applicazione fa, quanto tempo impiegano per completare e come questo influisce sull'esperienza utente della tua applicazione.
Se l'applicazione recupera i dati da un'API e tale richiesta richiede alcuni secondi per essere completata, gli utenti potrebbero abbandonare l'applicazione la seconda o terza volta che la utilizzano. Alla gente non piace aspettare e si aspettano che tutto sia veloce.
Come recentemente sottolineato da David Smith in Un Botnet inaspettato, la tua applicazione a volte può mostrare un comportamento imprevedibile, indipendentemente da quanto tu conosca il codice base e le strutture di sistema con cui interagisce l'applicazione. Non aspettare che i tuoi utenti ti segnalino problemi o, ancora peggio, che cerchino un'alternativa senza nemmeno parlarti del problema che li ha fatti cambiare.
Iniziare con New Relic è gratuito. Vai al sito web di New Relic e crea un account in modo da poter seguire. Nel tuo account New Relic, seleziona il Mobile scheda a sinistra e scegliere iOS dalla lista delle piattaforme.
Dai un nome alla tua applicazione e fai clic Continua per iniziare a integrare New Relic nella tua applicazione iOS.
Il prossimo passo è l'integrazione di New Relic SDK nella tua applicazione iOS. Per darti un vantaggio, ho creato un'applicazione di esempio che puoi utilizzare, che puoi trovare nei file sorgente di questo tutorial. L'applicazione di esempio è un semplice client meteo che ho creato per un altro tutorial. È perfetto per New Relic Mobile.
Hai due opzioni per installare il nuovo SDK Relic, manualmente o tramite CocoaPods. Poiché l'applicazione di esempio utilizza già CocoaPods, utilizzerò CocoaPods per installare il nuovo SDK Relic.
Aprire il Podfile del progetto alla radice del progetto e aggiornare l'elenco delle dipendenze come mostrato di seguito.
piattaforma: ios, '6.0' pod 'ViewDeck', '~> 2.2.11' pod 'AFNetworking', '~> 1.2.1' pod 'SVProgressHUD', '~> 0.9.0' pod 'NewRelicAgent', '~ > 3.289 '
Per installare il nuovo SDK Relic, aprire una finestra di terminale, navigare fino alla posizione del Podfile del progetto ed eseguire aggiornamento pod
. La bellezza di CocoaPods è che collega anche il progetto alle strutture e alle librerie necessarie. Il nuovo SDK Relic dipende dal Core telefonia e Configurazione di sistema quadri così come il libz biblioteca. Se stai usando CocoaPods, non devi preoccuparti di questo.
Costruisci il progetto per verificare che tutto funzioni come previsto e nessun errore viene generato dal compilatore.
Se sei nuovo a CocoaPods, dedica qualche minuto a leggere il mio tutorial su CocoaPods. CocoaPods è diventato di fatto lo strumento di gestione delle dipendenze per lo sviluppo di iOS e OS X..
Una volta installato il nuovo SDK Relic, l'integrazione di New Relic è facile come torta. Apri il file di intestazione precompilato del tuo progetto e aggiungi la seguente dichiarazione di importazione.
#importare
Il file di intestazione precompilato si trova in File di supporto e finisce dentro -Prefix.pch. Il file di intestazione precompilato dell'applicazione di esempio, ad esempio, è denominato Rain-Prefix.pch.
Per impostare Nuova reliquia, apri il tuo delegato dell'applicazione e aggiungi il seguente frammento di codice applicazione: didFinishLaunchingWithOptions:
. Assicurati di passare il token dell'applicazione come argomento di startWithApplicationToken:
.
[NewRelicAgent startWithApplicationToken: @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];
È possibile trovare il token dell'applicazione nel dashboard New Relic.
L'applicazione di esempio utilizza Forecast per recuperare i dati meteo in modo da sostituire la chiave API in MTConstants.m con la tua chiave API. È possibile creare un account di previsione gratuito sul sito Web di previsione.
#pragma mark - #pragma mark Previsioni API NSString * const MTForecastAPIKey = @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
Una volta che hai configurato New Relic con successo per la tua applicazione iOS, inizierà automaticamente a inviare dati ai server di New Relic. La quantità di dati che l'SDK raccoglie per te è sbalorditiva e il livello di dettaglio potrebbe essere anche un po 'schiacciante. Prendiamo un momento per vedere quali dati New Relic ha raccolto per la nostra applicazione meteo.
Accedi al tuo nuovo account Relic e seleziona il Mobile scheda a sinistra per visualizzare un elenco delle applicazioni mobili che New Relic sta monitorando per te. Questo elenco ti dà immediatamente un'idea dello stato della tua applicazione mostrando il numero di sessioni attive, le prestazioni della rete e i possibili problemi rilevati da New Relic. Clic Pioggia per esplorare ulteriormente i dati che New Relic sta raccogliendo per noi.
Il Panoramica pagina mostra un'immagine di alto livello del rendimento della tua applicazione. Ti mostra una serie di statistiche sulle prestazioni chiave, come i tempi di esecuzione di varie operazioni, incluso il caricamento di viste e l'esecuzione di richieste HTTP.
Stai guardando i dati in tempo reale, ma puoi modificare la scala cronologica in alto a destra della pagina per sfogliare i dati storici.
Anche se le prestazioni della rete sono importanti per la maggior parte delle applicazioni mobili, i dati sulle prestazioni raccolti da New Relic non si limitano a questo. Se apri il interazioni nella parte superiore, vedrai quanto tempo impiegano determinate interazioni e, cosa più importante, New Relic ti mostra comodamente quali sono le interazioni più lente.
Ho provato Rain su un vecchio iPhone 3GS con iOS 6.1.3 e non dovrebbe sorprendervi che New Relic ci mostri facilmente che la nostra applicazione funziona lentamente su questo dispositivo e su iOS 6.
Naturalmente, spetta a te decidere come utilizzare i dati raccolti da New Relic per te. L'iPhone 3GS è stato introdotto nel 2009 e iOS 7 ha superato una quota di mercato dell'80% quindi potrebbe non valere la pena di modificare la tua applicazione per migliorare le prestazioni su un iPhone 3GS con iOS 6. Tuttavia, è importante capire che anche questa è una preziosa informazione e ti consente di prendere decisioni appropriate in termini di sviluppo e concentrazione.
Oltre a raccogliere dati sulle prestazioni delle applicazioni, New Relic raccoglie anche informazioni sull'utilizzo delle applicazioni, come il numero di utenti attivi, informazioni sul dispositivo, ecc. New Relic è molto più di una soluzione di monitoraggio delle prestazioni delle applicazioni.
New Relic è un'ottima soluzione per monitorare le prestazioni delle operazioni di rete su dispositivi mobili. Ti mostra esattamente quali richieste fa la tua applicazione, quanto tempo impiegano per completare e se compaiono errori.
Questo potrebbe non sembrare utile se non stai utilizzando il tuo back-end, ma aiuta a decidere quali richieste vengono inviate in quel momento per rendere la tua applicazione più reattiva e più reattiva. Gli sviluppatori spesso presuppongono erroneamente che nulla può essere fatto se un'applicazione si basa su una terza parte per i suoi dati. Questo semplicemente non è vero e New Relic ti aiuta a evitare tali problemi.
Gli avvisi sono una delle funzioni più potenti e utili di New Relic. Nel impostazioni scheda, è possibile impostare uno o più avvisi personalizzati, che è particolarmente utile se l'applicazione si connette con un back-end che si mantiene e controllo.
Nel prossimo esempio, ho creato un avviso per avvisarmi quando le richieste all'API di previsione stanno diventando molto lente, impiegando più di cinque secondi per completare.
Come sviluppatore, devi sempre ricordare che non sai come viene utilizzata la tua applicazione e in quali circostanze. Ciò implica che non è possibile prevedere il comportamento della propria applicazione per ogni utente dell'applicazione.
New Relic è un servizio prezioso per ogni applicazione iOS che presenta una certa complessità. Le persone scaricano molte e molte applicazioni ogni giorno, il che significa che non esitano ad abbandonare la tua applicazione per la prossima cosa migliore. È quindi fondamentale assicurarsi che l'applicazione funzioni bene, quindi i tuoi utenti sono utenti felici. New Relic ti aiuta con questo.