2013-06-27 9 views
6

Lasciatemi iniziare dicendo che so come utilizzare l'SDK di iOS, quindi non rispondere a questa domanda con "usa l'SDK". Voglio sapere PERCHÉ Google Analytics non funziona.Google Analytics non funziona in Webview nell'app per iOS

Ecco il mio setup. Ho una app Web che viene anche trasformata in un'app per Android e un'app ios tramite webview. Sto usando cordova. L'app Android funziona perfettamente con il codice GA JS. Il web funziona bene. Tuttavia, nessun evento o pagina visualizzata viene visualizzato da iOS. Ho sentito dire che GA è legata al dominio, quindi una Webview su iOS fa qualcosa di nascosto nel dominio?

stavo per attaccare il mio frammento di codice, ma si tratta di CoffeeScript in alcune classi quindi mi limiterò a incollare i compilato js

Analytics.prototype.track = function(args) { 
     window._gaq.push(args); 
    }; 
    Analytics.track(['_trackEvent', 'SubscriptionModal', "Closed", data]); 

Questo funziona bene nel web e Android, quindi non è un JS. Sto impostando GA _setDomainName su "focusatwill.com" e posso vedere che sia ios che web hanno un dominio di "www.focusatwill.com"

Ho letto online alcune persone che parlano di questo problema e di tutti dice basta usare l'SDK. Sto cercando il motivo per cui non funziona. Come lo aggiusti per usare il JS?

modificare

Devo dire che il codice HTML e JS non sono cotto nel dispositivo, vale a dire che non hanno un URL locale, ma sono serviti dal nostro server web

+0

Per la tua app GA, hai configurato il progetto come app per dispositivi mobili? Mi sono imbattuto in questo progetto in modo simile e alla fine ho finito con l'impostare due progetti sotto l'account GA; 1 per il sito mobile (per i clic Webview) e un altro per l'app effettiva per registrare eventi all'interno dell'app stessa (visualizzazione non Web) – kevinl

+0

È un tracker web. Android funziona con le tracce web ma sembra che le visualizzazio- ni di iOS non lo facciano e io mi chiedo perché? Non è in grado di salvare localmente il file immagine di GA? O qualche altra questione sui cookie? È solo curioso di sapere se qualcuno sa davvero perché " –

+2

" track "è un metodo prototipo, ma stai chiamando il metodo dell'oggetto .. –

risposta

0

Safari su iOS6 + blocchi cookie di terze parti per impostazione predefinita e sono sicuro che anche le visualizzazioni web.

Verificare di avere qualcosa di simile a quanto segue nel metodo init di AppDelegate.m:

NSHTTPCookieStorage* cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
[cookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways]; 

Questo è dal boilerplate standard generato da Cordova 3.0.9, ma potrebbe non essere presente se siete utilizzando una versione precedente a iOS6. Imposta la politica cookie specifica dell'app, che dovrebbe sovrascrivere il valore predefinito del sistema.

Problemi correlati