Reageer oorspronklike Google Analytics -brug

Blog

Reageer oorspronklike Google Analytics -brug

Reageer oorspronklike Google Analytics -brug

GoogleAnalyticsBridge

Google Analytics Bridge is gebou om 'n maklike koppelvlak vir die inheemse Google Analytics -biblioteke op beide te bied ios en Android .



Waarom 'n inheemse brug? Waarom nie net JavaScript gebruik nie?

Die belangrikste verskil met die native bridge is dat u baie metadata outomaties deur die Google Analytics -biblioteek hanteer. Dit sal die toestel se UUID, toestelmodel, viewport -grootte, OS -weergawe, ens.

U hoef slegs 'n paar parameters in te stuur tydens die opsporing, byvoorbeeld:



import { GoogleAnalyticsTracker } from 'react-native-google-analytics-bridge'; let tracker = new GoogleAnalyticsTracker('UA-12345-1'); tracker.trackScreenView('Home'); tracker.trackEvent('testcategory', 'testaction');

Weergawe 6 breek veranderings!

As u na weergawe 6 van 'n ouer weergawe opgradeer, lees hierdie wiki -pos vir belangrike besonderhede .

Die nuutste weergawe van hierdie biblioteek het 'n nuwe API -oppervlak. Die API-veranderinge is in die meeste gevalle agteruitversoenbaar.



Belangrik : As u e -handel of aangepaste dimensies gebruik, moet u waarskynlik na die nuwe API oorskakel as u dit opgradeer!

Installasie en koppeling van biblioteke

  • Vir React Native> = | _+_ | gebruik weergawe | _+_ | (en hoër) van hierdie module.
  • Vir React Native<|_+_| use version |_+_|.

Installeer met npm: | _+_ |

Of installeer met gare: | _+_ |

Skakel in elk geval met: | _+_ |

Raadpleeg die as dit nie onmiddellik daarna werk nie handleiding vir installasie . Beide Android en iOS het 'n paar voorvereiste SDK's gekoppel en geïnstalleer.

Belangrik : Werk hierdie biblioteek met Expo? Ons moet die vraag 'n bietjie omkeer, want dit behoort te wees: werk Expo saam met ander biblioteke? En die antwoord is nee :

Die mees beperkende ding van Expo is dat u nie u eie inheemse modules kan byvoeg sonder om | _+_ | te gebruik en ExpoKit te gebruik nie.

Dit sluit die gebruik in 0.40 wat ook gebruik maak van Expo.

Gebruik

5.0.0

JavaScript API

GoogleAnalyticsSettings

Instellings wat op alle spoorsnyers toegepas word.

setOptOut

Stel in of OptOut aktief is en Google Analytics deaktiveer. Dit is standaard uitgeskakel. Let wel: dit moet ingestel word elke keer as die app begin.

Grense
Voorbeelde
4.0.3
setDispatchInterval

Stel die afleweringsinterval van die spoorsnyers in. Gebeurtenisse, skerms, ens., Word in groepe na u spoorsnyer gestuur. Met hierdie funksie kan u instel hoe gereeld (in sekondes) die groepe na u spoorsnyer gestuur word. Dit word aanbeveel om dit ongeveer 20-120 sekondes te hou om batterye en netwerkverkeer te bespaar. Dit is standaard op 20 sekondes gestel.

Grense
  • npm install --save react-native-google-analytics-bridge nommer
Voorbeelde
yarn add react-native-google-analytics-bridge
setDryRun

As dit ingeskakel is, verhoed die inheemse biblioteek dat data na Google Analytics gestuur word. Hiermee kan u die implementering toets of ontfout sonder dat u toetsdata in u Google Analytics -verslae verskyn.

Grense
  • react-native link react-native-google-analytics-bridge booleaans
Voorbeelde
detach

GoogleAnalyticsTracker

Voorbeelde
create-react-native-app // You have access to three classes in this module: import { GoogleAnalyticsTracker, GoogleTagManager, GoogleAnalyticsSettings } from 'react-native-google-analytics-bridge'; // The tracker must be constructed, and you can have multiple: let tracker1 = new GoogleAnalyticsTracker('UA-12345-1'); let tracker2 = new GoogleAnalyticsTracker('UA-12345-2'); tracker1.trackScreenView('Home'); tracker1.trackEvent('Customer', 'New'); // The GoogleAnalyticsSettings is static, and settings are applied across all trackers: GoogleAnalyticsSettings.setDispatchInterval(30); // Setting `dryRun` to `true` lets you test tracking without sending data to GA GoogleAnalyticsSettings.setDryRun(true); // GoogleTagManager is also static, and works only with one container. All functions here are Promises: GoogleTagManager.openContainerWithId('GT-NZT48') .then(() => { return GoogleTagManager.stringForKey('pack'); }) .then(pack => { console.log('Pack: ', pack); }) .catch(err => { console.log(err); }); // You can also register Function Call tag handlers when the container is open. GoogleTagManager.registerFunctionCallTagHandler( 'some_function', // Must be equal to Function Name field when the tag was configured. (functionName, tagArguments) => { // functionName is passed for convenience. In this example it will be equal to 'some_function'. // tagArguments is an object and is populated based on Tag configuration in TagManager interface. console.log('Handling Function Call tag:', functionName); } )
trackScreenView

Volg die huidige skerm/aansig. As u dit bel, sal dit ook die huidige aansig vir ander oproepe stel. Gebeurtenisse wat gevolg word, sal dus gemerk word dat dit in die huidige aansig plaasgevind het, | _+_ | in hierdie voorbeeld. Dit beteken dat dit belangrik is om navigasie op te spoor, veral as gebeurtenisse op verskillende aansigte kan skiet.

python certifi voeg sertifikaat by
Grense
  • enabled tou (Vereis) Die naam van die huidige skerm
  • GoogleAnalyticsSettings.setOptOut(true); HitPayload (Opsioneel) 'n Voorwerp wat die treffervrag bevat (opsioneel, standaard | _+_ |)
Voorbeelde
intervalInSeconds GoogleAnalyticsSettings.setDispatchInterval(30);
trackEvent

Volg 'n gebeurtenis wat plaasgevind het

beste backend raamwerk 2020
Grense
  • enabled tou (Vereis) Die geleentheidskategorie
  • GoogleAnalyticsSettings.setDryRun(true); tou (Vereis) Die geleentheidsaksie
  • // Constructing a tracker is simple: import { GoogleAnalyticsTracker } from 'react-native-google-analytics-bridge'; const tracker = new GoogleAnalyticsTracker('UA-12345-1'); tracker.trackScreenView('Home'); // You can have multiple trackers if you have several tracking ids const tracker2 = new GoogleAnalyticsTracker('UA-12345-2'); EventMetadata (Opsioneel) 'n Voorwerp wat gebeurtenismetadata bevat
  • // One optional feature as well is constructing a tracker with a CustomDimensionsFieldIndexMap, to map custom dimension field names to index keys: const fieldIndexMap = { customerType: 1 }; const tracker3 = new GoogleAnalyticsTracker('UA-12345-3', fieldIndexMap); // This is because the Google Analytics API expects custom dimensions to be tracked by index keys, and not field names. // Here the underlying logic will transform the custom dimension, so what ends up being sent to GA is { 1: 'Premium' }: tracker3.trackScreenView('Home', { customDimensions: { customerType: 'Premium' } }); // If you do not use a CustomDimensionsFieldIndexMap, you will have to use index as keys instead for custom dimensions: tracker.trackScreenView('Home', { customDimensions: { 1: 'Premium' } }); HitPayload (Opsioneel) 'n Voorwerp wat die treffervrag bevat (opsioneel, standaard | _+_ |)
Voorbeelde
Home screenName payload
trackTiming

Volg 'n tydmeting

Grense
  • null tou (Vereis) Die geleentheidskategorie
  • tracker.trackScreenView('Home'); nommer (Vereis) Die tydmeting in millisekondes
  • // With payload: const payload = { impressionList: 'Sale', impressionProducts: [ { id: 'PW928', name: 'Premium bundle' } ] }; tracker.trackScreenView('SplashModal', payload); Tydsberekening Metadata (Vereis) 'n Voorwerp wat tydmetadata bevat
  • category HitPayload (Opsioneel) 'n Voorwerp wat die treffervrag bevat (opsioneel, standaard | _+_ |)
Voorbeelde
action eventMetadata
trackException

Volg 'n uitsondering

Grense
  • payload tou (Vereis) Die beskrywing van die fout
  • null booleaans (Opsioneel) 'n Waarde wat aandui of die fout noodlottig was, standaard as onwaar (opsioneel, standaard | _+_ |)
  • tracker.trackEvent('DetailsButton', 'Click'); HitPayload (Opsioneel) 'n Voorwerp wat die treffervrag bevat (opsioneel, standaard | _+_ |)
Voorbeelde
// Track event with label and value tracker.trackEvent('AppVersionButton', 'Click', { label: 'v1.0.3', value: 22 });
trackSocialInteraction

Volg 'n sosiale interaksie, Facebook, Twitter, ens.

Grense
  • // Track with a payload (ecommerce in this case): const product = { id: 'P12345', name: 'Android Warhol T-Shirt', category: 'Apparel/T-Shirts', brand: 'Google', variant: 'Black', price: 29.2, quantity: 1, couponCode: 'APPARELSALE' }; const transaction = { id: 'T12345', affiliation: 'Google Store - Online', revenue: 37.39, tax: 2.85, shipping: 5.34, couponCode: 'SUMMER2013' }; const productAction = { transaction, action: 7 // Purchase action, see ProductActionEnum } const payload = { products: [ product ], productAction: productAction } tracker.trackEvent('FinalizeOrderButton', 'Click', null, payload); tou
  • category tou
  • interval tou
  • timingMetadata HitPayload (Opsioneel) 'n Voorwerp wat die trefvrag bevat
Voorbeelde
payload
setUser

Stel die huidige gebruikers -ID in vir opsporing.

Grense
  • null tou 'N Anonieme identifiseerder wat voldoen aan die gebruikers -ID -beleid van Google Analytic
Voorbeelde
tracker.trackTiming('testcategory', 2000, { name: 'LoadList' }); // name metadata is required
setClient

Stel die huidige client -id in vir opsporing.

Grense
  • // With optional label: tracker.trackTiming('testcategory', 2000, { name: 'LoadList', label: 'v1.0.3' }); tou 'N Anonieme identifiseerder wat voldoen aan die kliënt -ID -beleid van Google Analytic
Voorbeelde
error
getClientId

Laat die kliënt -ID gebruik word om aan te meld, ens.

Voorbeelde
fatal

Opbrengste Beloof < tou >

laat IDFA toe

Dit word ook advertensie -identifikasieversameling genoem, en word gebruik vir advertensiefunksies.

Belangrik : Vir iOS kan u hierdie metode slegs gebruik as u die opsionele stap 6 in die installeringsgids gedoen het. Aktiveer dit slegs (en koppel die toepaslike biblioteke) as u van plan is om advertensiefunksies in u app te gebruik, anders kan u app van die AppStore afgewys word.

Grense
  • false booleaans (Opsioneel) Standaard is waar (opsioneel, standaard | _+_ |)
Voorbeelde
payload
setAppName

Oorheers die programnaam wat by Google Analytics aangemeld is. Die bundelnaam word standaard gebruik. Let wel: dit moet ingestel word elke keer as die app begin.

Grense
  • null tou (Vereis)
Voorbeelde
try { ... } catch(error) { tracker.trackException(error.message, false); }
setAppVersion

Stel die trackers -appVersion in

Grense
  • network tou (Vereis)
Voorbeelde
action
setAnonymizeIp

Stel in of AnonymizeIp aangeskakel is As dit geaktiveer is, sal die laaste oktet van die IP -adres verwyder word

Grense
Voorbeelde
payload
setSamplingRate

Stel die monsternemingstempo van die spoorsnyer in.

Grense
  • tracker.trackSocialInteraction('Twitter', 'Post'); nommer (Vereis) Persentasie 0 - 100
Voorbeelde
userId
setCurrency

Stel die geldeenheid vir opsporing in.

Grense
  • tracker.setUser('12345678'); tou (Vereis) Die geldeenheid ISO 4217 -kode
Voorbeelde
clientId
setTrackUncaughtExceptions

Bepaal of ongevangene uitsonderings gevolg moet word. Belangrik om op te let: op iOS is hierdie opsie op alle spoorsnyers ingestel. Op Android word dit per spoorsnyer ingestel. As u veelvuldige spoorsnyers op iOS gebruik, kan dit op alle spoorsnyers geaktiveer en gedeaktiveer word.

Grense
  • tracker.setClient('35009a79-1a05-49d7-b876-2b884d0f825b'); booleaans
versending

Met hierdie funksie kan u alle treffers wat in die ry staan, handmatig stuur. Gebruik hierdie funksie spaarsamig, aangesien dit gewoonlik outomaties as 'n bondel gebeur. Hierdie funksie sal ook vir alle spoorsnyers gestuur word.

Voorbeelde
tracker.getClientId().then(clientId => console.log('Client id is: ', clientId));

Opbrengste Beloof < booleaans > Keer terug as dit klaar is

dispatchWithTimeout

Dieselfde as | _+_ |, maar gee u ook die geleentheid om die belofte uit te stel indien die versending te lank duur.

Grense
  • enabled nommer Die time -out. Die standaardwaarde is 15 sek. (opsioneel, verstek | _+_ |)
Voorbeelde
true

Opbrengste Beloof < booleaans > Keer terug as dit klaar is of uitgetel is

GoogleTagManager

Kan slegs saam met een houer gebruik word. Alle funksies gee 'n belofte terug.

Voorbeelde
tracker.allowIDFA(true);
openContainerWithId

Bel een keer om die houer oop te maak vir alle daaropvolgende statiese oproepe.

Grense
Voorbeelde
tracker.setAppName('YourAwesomeApp');

Opbrengste Beloof < booleaans >

refreshContainer

Verfris die GTM -houer. Volgens Tag Manager kan dokumentasie vir Android een keer elke 15 minute genoem word. Daar is egter geen sulke beperkings vir iOS -houers genoem nie.

Voorbeelde
appVersion

Opbrengste Beloof < booleaans >

boolForKey

Haal 'n Booleaanse waarde met die gegewe sleutel uit die houer oop.

Grense
  • tracker.setAppVersion('1.3.2'); tou
Voorbeelde
enabled

Opbrengste Beloof < booleaans >

stringForKey

Haal 'n string met die gegewe sleutel uit die oop houer.

Grense
  • tracker.setAnonymizeIp(true); tou
Voorbeelde
sampleRatio

Opbrengste Beloof < tou >

doubleForKey

Haal 'n nommer met die gegewe sleutel uit die oop houer.

Grense
  • tracker.setSamplingRate(50); tou
Voorbeelde
currencyCode

Opbrengste Beloof < nommer >

pushDataLayerEvent

Stuur 'n datalaaggebeurtenis vir Google Analytics deur Google Tag Manager. Die geleentheid moet ten minste een sleutelgebeurtenis met 'n gebeurtenisnaam hê.

Grense
  • tracker.setCurrency('EUR'); DataLayerEvent 'N Kaart wat sleutel- en waardepare bevat. Dit moet ten minste een sleutelgebeurtenis met 'n gebeurtenisnaam hê
Voorbeelde
enabled

Opbrengste Beloof < booleaans >

registerFunctionCallTagHandler

Registreer funksie Call tag handler

motorhysers vir motorwaens
Grense
  • tracker.dispatch().then(done => console.log('Dispatch is done: ', done)); String
  • dispatch Funksie
setVerboseLoggingEnabled

Stel die logger in 'n groot formaat, die standaard is 'n waarskuwing

Grense

Tydsberekening Metadata

Word gebruik om tydmetings op te spoor

Grense
  • -1 tou (Vereis)
  • tracker .dispatchWithTimeout(10000) .then(done => console.log('Dispatch is done: ', done)); tou (Opsioneel)
Voorbeelde
import { GoogleTagManager } from 'react-native-google-analytics-bridge'; GoogleTagManager.openContainerWithId('GT-NZT48') .then(() => GoogleTagManager.stringForKey('pack')) .then(str => console.log('Pack: ', str));

EventMetadata

Word gebruik tydens die dop van gebeurtenis

Grense
  • containerId tou (Opsioneel)
  • GoogleTagManager.openContainerWithId('GT-NZT48').then((..) => ..) nommer (Opsioneel)
Voorbeelde
GoogleTagManager.refreshContainer().then((..) => ..)

HitPayload

Die HitPayload -voorwerp en moontlike waardes

Word gebruik deur die verskillende opsporingsmetodes om metadata by die treffer te voeg.

Grense
  • key Array < Produk > (Opsioneel) Word gebruik vir e -handel
  • GoogleTagManager.boolForKey('key').then(val => console.log(val)); Array < Produk > (Opsioneel) Word gebruik vir e -handel
  • key tou (Opsioneel) Word gebruik vir e -handel
  • GoogleTagManager.stringForKey('key').then(val => console.log(val)); tou (Opsioneel) Word gebruik vir e -handel
  • key Produkaksie (Opsioneel) Word gebruik vir e -handel
  • GoogleTagManager.doubleForKey('key').then(val => console.log(val)); ( CustomDimensionsByIndex | CustomDimensionsByField ) (Opsioneel)
  • event CustomMetrics (Opsioneel)
  • GoogleTagManager.pushDataLayerEvent({ event: 'eventName', pageId: '/home' }).then(success => console.log(success)); tou (Opsioneel) Word gebruik vir veldtogte
  • functionName tou (Opsioneel) Slegs twee moontlike waardes, begin of einde. Dit begin of eindig 'n sessie.
Voorbeelde
handler enabled

CustomDimensionsByField

  • Sien: CustomDimensionsFieldIndexMap
  • Sien: CustomDimensionsByIndex

'N Woordeboek met waardes vir pasgemaakte afmetings en hul (gekarteerde) veldnaam sleutels. Om dit te kan gebruik en aangepaste afmetings per veldnaam in te stuur, moet u 'n | _+_ | by die konstruksie van die spoorsnyer.

Voorbeelde
name

CustomDimensionsByIndex

  • Sien: CustomDimensionsFieldIndexMap
  • Sien: CustomDimensionsByField

'N Woordeboek met waardes vir pasgemaakte afmetings en hul indeksleutels.

Voorbeelde
label

CustomDimensionsFieldIndexMap

  • Sien: CustomDimensionsFieldIndexMap
  • Sien: CustomDimensionsByField

'N Woordeboek wat die kartering van veldname na indekse vir aangepaste afmetings beskryf. Dit is 'n opsionele voorwerp wat die spoorsnyer gebruik.

Voorbeelde
const timingMetadata = { name: 'LoadList' } // name is a required value when tracking timing tracker.trackTiming('testcategory', 13000, timingMetadata);

CustomMetrics

'N Woordeboek met pasgemaakte metrieke waardes en hul indeksleutels.

Voorbeelde
label

DataLayerEvent

Die Google Tag Manager DataLayerEvent -woordeboek.

Bevolk hierdie gebeurtenisvoorwerp met waardes wat na die DataLayer gestuur moet word. Die enigste vereiste eiendom is | _+_ |.

Grense
Voorbeelde
const eventMetadata = { label: 'v1.0.3', value: 22 } tracker.trackEvent('FinalizeOrderButton', 'Click', eventMetadata);

ProductActionEnum

Verbeterde e -handelsprodukaksie Getal

Gebruik deur | _+_ | wanneer u die tipe produkhandeling beskryf. Die moontlike waardes (getalle) is:

  • Detail = 1,
  • Klik = 2,
  • Voeg by = 3,
  • Verwyder = 4,
  • Afrekening = 5,
  • CheckoutOption = 6,
  • Aankoop = 7,
  • Terugbetaling = 8

Produk

Verbeterde e -handelsproduk

Gebruik deur | _+_ | wanneer u produkaksies of indrukke invul

Grense
  • products tou
  • impressionProducts tou
  • impressionList tou (Opsioneel)
  • impressionSource tou (Opsioneel)
  • productAction tou (Opsioneel)
  • customDimensions nommer (Opsioneel)
  • customMetrics tou (Opsioneel)
  • utmCampaignUrl nommer (Opsioneel)
Voorbeelde
session

Produkaksie

Verbeterde e -handelsprodukaksie

Gebruik deur | _+_ | wanneer 'n produkaksie beskryf word

Grense
  • // If you want to do send a purchase payload with an event: const product = { id: 'P12345', name: 'Android Warhol T-Shirt', category: 'Apparel/T-Shirts', brand: 'Google', variant: 'Black', price: 29.2, quantity: 1, couponCode: 'APPARELSALE' }; const transaction = { id: 'T12345', affiliation: 'Google Store - Online', revenue: 37.39, tax: 2.85, shipping: 5.34, couponCode: 'SUMMER2013' }; const productAction = { transaction, action: 7 // Purchase action, see ProductActionEnum } const payload = { products: [ product ], productAction: productAction } tracker.trackEvent('FinalizeOrderButton', 'Click', null, payload); ProductActionEnum
  • // If you want to send custom dimensions with a screen view: const customDimensions = { 1: 'Beta', 3: 'Premium' }; const payload = { customDimensions }; tracker.trackScreenView('SaleScreen', payload); Transaksie (Opsioneel)
  • CustomDimensionsFieldIndexMap nommer (Opsioneel)
  • const customDimensions = { customerType: 'Premium', appType: 'Beta', credit: 1200 } tracker.trackScreenView('Home', { customDimensions }); tou (Opsioneel)
  • const customDimensions = { 1: 'Premium', 3: 'Beta', 5: 1200 } tracker.trackScreenView('Home', { customDimensions }); tou (Opsioneel)
  • // Create something like: const fieldIndexMap = { customerType: 1 }; // Construct tracker with it: const tracker = new GoogleAnalyticsTracker('UA-12345-3', fieldIndexMap); // This allows you to send in customDimensions in the`HitPayload by field name instead of index: tracker.trackScreenView('Home', { customDimensions: { customerType: 'Premium' } }); // If you do not provide a map, you instead have to send in by index: tracker.trackScreenView('Home', { customDimensions: { 1: 'Premium' } }); tou (Opsioneel)
Voorbeelde
const customMetrics = { 1: 2389, 4: 15000 } tracker.trackScreenView('Home', { customMetrics }); event

Transaksie

Verbeterde e -handelstransaksie

aol desktop teken aan

Gebruik deur | _+_ | wanneer 'n aankoop/transaksie beskryf word

Grense
  • event tou
  • const dataLayerEvent = { event: 'eventName', pageId: '/home' }; GoogleTagManager.pushDataLayerEvent(dataLayerEvent); tou (Opsioneel)
  • ProductAction nommer (Opsioneel - maar nie regtig nie)
  • HitPayload nommer (Opsioneel)
  • id nommer (Opsioneel)
  • name tou (Opsioneel)
Voorbeelde
category

Aflaai besonderhede:

Skrywer: avoloshko

Bronkode: https://github.com/avoloshko/react-native-google-analytics-bridge

#reageer inheems #reageer #mobiele programme