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.
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
0.40
booleaans
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 skermGoogleAnalyticsSettings.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 geleentheidskategorieGoogleAnalyticsSettings.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 geleentheidskategorietracker.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 bevatcategory
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 foutnull
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);
toucategory
touinterval
toutimingMetadata
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
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
targetUrl
booleaans (Vereis)
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
appName
tou
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
doubleForKey
Haal 'n nommer met die gegewe sleutel uit die oop houer.
Grense
tracker.setSamplingRate(50);
tou
Voorbeelde
currencyCode
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
setVerboseLoggingEnabled
Stel die logger in 'n groot formaat, die standaard is 'n waarskuwing
Grense
timeout
booleaans
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 -handelGoogleTagManager.boolForKey('key').then(val => console.log(val));
Array < Produk > (Opsioneel) Word gebruik vir e -handelkey
tou (Opsioneel) Word gebruik vir e -handelGoogleTagManager.stringForKey('key').then(val => console.log(val));
tou (Opsioneel) Word gebruik vir e -handelkey
Produkaksie (Opsioneel) Word gebruik vir e -handelGoogleTagManager.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 veldtogtefunctionName
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
value
tou
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
touimpressionProducts
touimpressionList
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
touconst 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