React Native wrapper package for using native Google tag manager libraries on iOS and Android.
-
Install
rnpmpackage to easy link android & ios native project.npm install -g rnpm -
Install
react-native-gtmbyrnpm.rnpm install react-native-gtm -
extra step for IOS native project:
-
Open iOS project by Xcode, click
project namenode , then findBuild Phasestab at right side windows , expandLink Binary With Librariessection , add below libraries:CoreData.framework SystemConfiguration.framework libz.tbd libsqlite3.0.tbd AdSupport.framework
###openContainerWithId(containerId)
Import the libaries and call openContainerWithId to create singleton instance.
```
import GoogleTagManager from 'react-native-gtm';
(function initializeGA() {
GoogleTagManager.openContainerWithId("GTM-XXXX")
.then(function(){
//open container success
})
}());
###push({json})
Import the libaries and call openContainerWithId to create singleton instance. Note: {json} now(>0.1.5) support array type included on Andriod , but not full test.
-
If first key is
event, thepushwill fire a event with others keyPairs todatalayer.GoogleTagManager.push({ event:"openScreen", screenName:"HomeScreen", appName:"HelloApp" }); -
If first key not
event, thepushwill send keyPairs value todatalayer.GoogleTagManager.push({ sku:"some sku", productName:"some product name", price:123, ... }); -
let value is
nullto clean the datalayer data.GoogleTagManager.push({ sku:null, productName:null, price:null, ... });