Pas à pas pour que Google Analytics fonctionne dans PhoneGap 1.2.0 sur iOS (phonegapalytics)

Comment installer Google Analytics dans PhoneGap 1.2.0 dans iOS?

Tout d'abord, je dois donner beaucoup de crédit aux gars ici. Leur blog était d'une aide précieuse, mais je devais encore faire quelques autres choses pour finalement le faire fonctionner.

Je vais y aller étape par étape pour que vous puissiez le faire fonctionner à un niveau très basique et ensuite vous pouvez le prendre à partir de là. J'ai trouvé que même la moindre erreur peut gâcher les choses.

Je suppose que vous avez installé PhoneGap 1.2.0 et utilisez Xcode 4.2


PARTIE A

Obtenez une application PhoneGap de base qui fonctionne. Suivez le guide PhoneGap pour que cela fonctionne.


PARTIE B

Téléchargez le plugin Google Analytics PhoneGap. Je trouve que la chose la plus simple à faire est de download le file zip d' ici. Vous obtenez une stack de choses dont vous n'avez pas besoin mais cela n'a pas d'importance.

Développez le file dans votre directory de téléchargement. Allez dans le directory étendu … dans le dossier iPhone et vous devriez voir le dossier GoogleAnalytics .

Dans Xcode, faites un clic droit sur le projet (le bloc bleu en haut) et choisissez 'Ajouter des files'. Accédez au dossier développé. Cliquez sur le dossier "GoogleAnalytics". Assurez-vous que le 'copyr des files dans le dossier du groupe de destination (si nécessaire)' est sélectionné et qu'il est ajouté à la cible. Cliquez sur "Ajouter". Faites glisser les files dans le dossier dans Xcode vers le dossier Plugins.

Retournez dans le Finder et ouvrez le directory du projet. Copiez le GoogleAnalyticsPlugin.js GoogleAnalyticsPlugin.js du dossier GoogleAnalytics dans le dossier "www". Xcode vous avertira de la ré-logging du file. Cliquez simplement sur Fermer.

Accédez au file index.html. Dans la function onDeviceReady() ajoutez la ligne suivante au début de la fonction.

window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID("YOUR UA CODE");

Ensuite, ajoutez la fonction suivante dans la fonction onDeviceReady (à l'intérieur du même bloc de script)

 function trackpage(id) { console.log("start trackpage: " + id); window.plugins.googleAnalyticsPlugin.trackPageview(id); console.log("end trackpage: " + id); } 

Maintenant, toujours dans le file index.html, trouvez la ligne

 <li>Check your console log for any white-list rejection errors.</li> 

(callbackez-vous ceci est phonegap 1.2.0)

ajoutez la ligne suivante après.

 <li class="arrow"><a href="javascript:trackpage('/TEST');">test analytics</a></li> 

Cela donne un lien sur lequel vous pouvez cliquer dans l'application de test.

NB Vous DEVEZ avoir une barre oblique (/) dans la page que vous suivez. Donc javascript:trackpage('/TEST') fonctionnera alors que javascript:trackpage('TEST') ne fonctionnera pas.

Enfin, toujours dans l'index.html append la ligne suivante

 <script type="text/javascript" charset="utf-8" src="GoogleAnalyticsPlugin.js"></script> 

au dessous de

 <script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js"></script> 

Ne vous embêtez pas à essayer de l'exécuter pour le moment. Ça ne marchera pas.


PARTIE C

Ensuite, allez au file GoogleAnalytics.h . Il suffit de l'essuyer .. Il y a une stack de problèmes ici. JSON semble être maintenant JSONKit et PhoneGapCommand est maintenant PGPlugin .. Il suffit de coller ceci. La documentation de PhoneGap semble être partout.

 #import <Foundation/Foundation.h> #ifdef PHONEGAP_FRAMEWORK #import <PhoneGap/PGPlugin.h> #import <PhoneGap/NSData+Base64.h> #import <PhoneGap/JSONKit.h> #else #import "PGPlugin.h" #import "NSData+Base64.h" #import "JSONKit.h" #endif #import "GANTracker.h" @interface GoogleAnalyticsPlugin : PGPlugin<GANTrackerDelegate> { } - (void) startTrackerWithAccountID:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; - (void) trackEvent:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; - (void) trackPageview:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; @end 

PARTIE D

Ajoutez ensuite la partie Google Analytics au projet. C'est la partie que Google fournit, mais il est commodément inclus dans le dossier plugin phonegap ios GoogleAnalytics / GoogSDK.

Dans Xcode, accédez au dossier GoogleAnalytics/GoogSDK et faites glisser les files GANTracker.h et libGoogleAnalytics.a vers le directory Plugins.

Fondamentalement, vous devez les copyr à partir du dossier «bleu» GoogleAnalytics/GoogSDK dans un dossier «jaune» afin qu'ils puissent être trouvés par des files d'en-tête.


PARTIE E

Ensuite, nous devons append sqlite (où Google Analytics stocke datatables lorsqu'il n'est pas en ligne) et CFNetwork (afin que Google Analytics puisse download datatables) vers le projet.

Dans Xcode, click le projet (la chose bleue en haut du file). Cliquez sur la cible principale. Puis click les phases de construction. Le troisième élément de la list est le "Link Binary with Libraries". Notez qu'il y en a deux. Choisissez le top. Ouvrez-le et click le signe +. Ajoutez libsqlite3.0.dylib puis ajoutez CFNetwork.framework .


PARTIE F

Enfin (presque là) nous devons installer le plugin. Accédez au file PhoneGap.plist . Sous Plugins, ajoutez une autre input avec la key comme googleAnalyticsPlugin (le nom javascript) et la valeur comme GoogleAnalyticsPlugin (la partie Obj-C).

Sous ExternalHosts, ajoutez une input *

Maintenant, essayez et courez. Les doigts croisés vont marcher.

La meilleure façon de le tester pour exécuter le programme, puis utilisez le nouveau mode Google Analytics en time réel (BETA) comme vous pouvez voir les pages suivies en direct.

Vous devez passer à la nouvelle version de Google Analytics (il devrait être un lien évident en haut pour passer à la nouvelle version). Ouvrez le count GA, accédez à Accueil..REAL_TIME … Présentation. Vous devriez voir la piste de la page TEST arriver dans quelques secondes.

Remarque: Vous ne pouvez pas suivre les events en time réel. Vous devez attendre qu'ils soient traités.

PROBLÈMES

J'ai eu quelques problèmes en regardant les Sources de compilation et Link Binary With Libraries . Les parties GoogleAnalytics apparaîtraient en rouge. Si elles sont en rouge cela signifie que votre projet ne peut pas les find et je pense que la façon dont vous résolvez cela dépend de votre version de Xcode, donc vous pourriez avoir besoin de google un peu pour résoudre ce problème. Ce que j'ai fait était de supprimer le GoogleAnalytics (appuyez sur le signe -) puis faites glisser le file. S'il apparaît comme une «icône appropriée» (par opposition à une boîte rouge), il aurait dû fonctionner.

Le faire sur Android aussi?

Je suppose que si vous utilisez Phonegap vous faites probablement une version Android aussi. Si c'est le cas, vous pouvez vérifier cette comparaison Q + A pour les différences.

Merci beaucoup pour votre excellent travail, ma seule confusion était avec ce bloc:

 function trackpage(id) { console.log("start trackpage: " + id); window.plugins.googleAnalyticsPlugin.trackPageview(id); console.log("end trackpage: " + id); } 

J'ai dû le mettre en dehors de la fonction onready pour qu'il fonctionne dans mon application.