nativeScript-google-tagmanager
为 NativeScript 提供的 Google 标签管理器集成
npm i --save nativescript-google-tagmanager

NativeScript Google Tag Manager

添加插件

tns plugin add nativescript-google-tagmanager 

需求

从 Google 标签管理器页面下载你的容器作为二进制文件。

IOS

在你的应用中,将二进制文件复制到以下文件夹中

/App_Resources/IOS

Android

在你的应用中,将二进制文件复制到以下文件夹中

/App_Resources/Android/raw

注意:如果 Android 文件夹中没有 raw 文件夹,请创建它。注意2:将二进制文件名改为小写字母,并替换 - 为 _(这是由于 Android 的文件名限制所必需的)。

####例如

如果你的二进制文件名为 GTM-AAA11B,则将其名称更改为:gtm_aaa11b

在 app.js 中初始化追踪器

纯 JS

var application = require("application");
var tagManager = require("nativescript-google-tagmanager");
application.mainModule = "main-page";
application.cssFile = "./app.css";

if (application.ios) {
//iOS
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};

var appDelegate = (function (_super) {
__extends(appDelegate, _super);
function appDelegate() {
_super.apply(this, arguments);
}

appDelegate.prototype.applicationDidFinishLaunchingWithOptions = function (application, launchOptions) {
initTagManager(); //Module Code to initalize
};

appDelegate.ObjCProtocols = [UIApplicationDelegate];
return appDelegate;
})(UIResponder);
application.ios.delegate = appDelegate;
}else{
//ANDROID
application.on(application.launchEvent, function (args) {
initTagManager(); //Module Code to initalize
});

}

application.start();

function initTagManager(){
tagManager.initalize({
containerId: "GTM-XXXXXX", //YOUR Id from GTM
logLevel: 'verbose'//Optional, default none.
//available values: 'verbose', 'debug', 'info', 'warning', 'error'
});
}

TypeScript

var application = require("application");
import * as googleTagManager from "nativescript-google-tagmanager";
application.mainModule = "main-page";
application.cssFile = "./app.css";

if (application.ios) {
//iOS
class MyDelegate extends UIResponder implements UIApplicationDelegate {
public static ObjCProtocols = [UIApplicationDelegate];

applicationDidFinishLaunchingWithOptions(application: UIApplication, launchOptions: NSDictionary): boolean {
initTagManager(); //Module Code to initalize
return true;
}

}

application.ios.delegate = MyDelegate;

}else{
//ANDROID
application.on(application.launchEvent, function (args) {
initTagManager(); //Module Code to initalize
});

}

application.start();

function initTagManager(){
googleTagManager.initalize({
containerId: "GTM-XXXXXX", //YOUR Id from GTM
logLevel: 'verbose'//Optional, default none.
//available values: 'verbose', 'debug', 'info', 'warning', 'error'
});
}

方法

记录任何内容

// category and action are not optional, label and value are
googleTagManager.log({
"event": "eventTrack",
"eventCategory": "Button",
"eventAction": "Press",
"eventLabel": "Sign Up",
"screenName": "Login"
});

googleTagManager.log({
"event": "screenVisible",
"screenName": "Login"
});