安卓卸载跟踪

一瞥:有了 Apptrove,安卓卸载跟踪变得更容易。Apptrove 为您提供实时跟踪安卓应用程序卸载的选项,是衡量流量质量和限制欺诈的另一种方法。

设置或启用安卓卸载跟踪功能只需简单的三个步骤,你可以按照下面提到的简单步骤自行完成它

1. 设置通用标识符

在您的应用程序中添加以下代码,开始设置通用标识符。

private FirebaseAnalytics mFirebaseAnalytics;

FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

mFirebaseAnalytics.setUserProperty("ct_objectId", Objects.requireNonNull(TrackierSDK.getTrackierId()));

除了设置通用标识符外,您还可以在卸载时跟踪以下字段:

. (optional) Application mode:

mFirebaseAnalytics.setUserProperty("ct_mode", Objects.requireNonNull(""));

 
. (optional) Customer user ID:

mFirebaseAnalytics.setUserProperty("ct_uid", Objects.requireNonNull(""));

 
. (optional) Customer email:

mFirebaseAnalytics.setUserProperty("ct_mail", Objects.requireNonNull(""));

2. 使用 Firebase 设置转换事件

虽然 firebase analytics 会自动收集 app_remove 事件,但您仍需要启用该功能。

这是一个仅适用于 Android 的事件,当应用程序从设备上卸载时会被跟踪。

请按照以下步骤完成设置过程:

  1. 导航到 Firebase 控制台,选择与安卓应用程序集成的 Firebase 项目。
  2. 导航到 Firebase 控制面板中的 “分析”>“事件”。
  3. 启用 app_remove 事件的 “标记为转换 ”切换。

3. 设置云功能,与 Apptrove 通信卸载数据

转换设置完成后,使用 Firebase 的云功能创建一个函数,将卸载数据发送到 Apptrove。

前提条件:

系统应安装 nodejs (https://nodejs.org/en/),最好是 18 或更高版本。运行以下命令检查已安装的 nodejs 版本 node -v。

请确保您在谷歌云平台上的应用程序项目中的用户拥有在此处创建云函数的权限: https://console.cloud.google.com/functions/list

要使用 Node JS 创建和发布云函数,请执行以下步骤:

打开终端。

设置 Node.js 和 Firebase CLI。

运行 npm install -g firebase-tools。

要初始化 Firebase SDK for Cloud Functions,请运行 firebase login。

在 Firebase 项目目录中,运行 firebase init functions。

选择 Javascript 作为语言选项。

移动到 functions 目录,运行 cd functions。

打开 index.js,添加以下代码:

// Import dependencies

 
const functions = require("firebase-functions");

 
const admin = require("firebase-admin");

 
const axios = require("axios");

 



// Configure SDK Key here

 

const SDK_KEY = "";

 
 

// Initialize application via firebase admin

 

admin.initializeApp();

 
 

// Set function to exports

 

exports.sendAndroidUninstallToTrackierApptrove = functions.analytics.event("app_remove").onLog((event) => {

 

// Extract values from user properties

 

const installId = (event.user.userProperties.ct_objectId) ? event.user.userProperties.ct_objectId.value : "";

 
const mode = (event.user.userProperties.ct_mode) ? event.user.userProperties.ct_mode.value : "";


const cuid = (event.user.userProperties.ct_uid) ? event.user.userProperties.ct_uid.value : "";

 
const cmail = (event.user.userProperties.ct_mail) ? event.user.userProperties.ct_mail.value : "";

 




// Prepare data for request

 

const url = "https://events.trackier.io/v1/uninstall";

 

const data = JSON.stringify({ installId, sdkKey: SDK_KEY, mode, cuid, cmail, meta: event });

 



// Send data back to Apptrove

 

axios.post(url, data, { headers: { "Content-Type": "application/json" } })

 

.then((response) => console.log(JSON.stringify({ installId, status: response.status, data: response.data })))

 

.catch((error) => console.error(JSON.stringify({ installId, status: error.response.status, data: error.response.data })));

 

});
  • 打开 package.json,添加以下代码:
{

 
"name": "functions",

 
"description": "Cloud Functions for Firebase",

 
"scripts": {

 
"lint": "eslint .",

 
"serve": "firebase emulators:start --only functions",

 
"shell": "firebase functions:shell",

 
"start": "npm run shell",

 
"deploy": "firebase deploy --only functions",

 
"logs": "firebase functions:log"

 
},

 
"engines": {

 
"node": "18"

 
},

 
"main": "index.js",

 
"dependencies": {

 
"axios": "^0.24.0",

 
"firebase-admin": "^10.0.1",

 
"firebase-functions": "^3.16.0"

 
},

 
"devDependencies": {

 
"eslint": "^8.6.0",

 
"firebase-functions-test": "^0.3.3"

 
},

 
"private": true

}

打开 .eslintrc.js 并添加以下代码,如果不存在,请创建一个:

module.exports = {

 
root: true,

 
env: {


es6: true,

 
node: true,

},

 
extends: [


"eslint:recommended",

],

 
rules: {

quotes: ["error", "double"]

},

 
};
  1. 安装所有依赖项,运行 npm install。
  2. 部署云功能,运行 npm run deploy。
  3. 部署完成后,您可以在此处监控云功能的状态:https://console.cloud.google.com/functions/list

我们很高兴组建了一支由经验丰富的专业人士组成的世界级团队,随时准备处理您的问题并解答您的任何疑问。欢迎通过电子邮件(support@apptrove.com)或平台内的聊天功能随时与我们联系。我们期待您的来信!

Table of Contents