AppsFlyer 研究(二)应用内事件

2023-11-08

一、记录应用内事件

 

应用内事件可助您深入了解应用里正在发生的事。我们建议您花些时间定义要记录的事件。记录应用内事件有助于您衡量KPI,例如ROI(投资回报率)和LTV(生命周期价值)。

有几种方法可以记录应用内事件。最常见的方法是通过我们在本文中讨论的通过SDK发送事件。

 

如果您的应用属于某个行业,例如旅行、游戏、电子商务等,您可以参考每个行业的推荐应用内事件列表

 

1、应用内事件类型

以下部分介绍了每个事件类型的推荐结构, 以及指向 Facebook、Twitter、Criteo、Google Ads 和 Snapchat 的参数映射。

 

以下应用内事件被定义为 AFInAppEventType 接口的一部分, 建议这样做:

 

完成注册

事件名称:af_complete_registration

描述:用于追踪用户注册方式

事件参数 (Android): AFInAppEventType.COMPLETE_REGISTRATION

事件参数 (iOS):AFEventCompleteRegistration

Facebook映射事件: fb_mobile_complete_registration

Twitter映射事件: SIGN_UP

Criteo映射事件:无

Google Ads: sign_up

Snapchat: SIGN_UP

推荐参数: af_registration_method

属性映射:

AppsFlyer Facebook Twitter Criteo Google Ads Snapchat
af_registration_ method fb_registration_ method registration_method - registration_method sign_up_method

 

 

购买

事件名称: af_purchase

描述:用于追踪购买事件(及相关收入)

事件参数 (Android): AFInAppEventType.PURCHASE

事件参数 (iOS): AFEventPurchase

Facebook映射事件: fb_mobile_purchase

Twitter映射事件: PURCHASE

Criteo 映射事件: transactionConfirmation

Google Ads: in_app_purchase

Snapchat: PURCHASE

推荐参数: af_revenue, af_content_type, af_content_id, af_content, af_price, af_quantity, af_currency, af_order_id

属性映射:

AppsFlyer Facebook Twitter Criteo Google Ads Snapchat Partnerize
af_revenue* _valueToSum price_micro** ui_revenue value price -
af_content_type fb_content_type content_type - item_category item_category 类别
af_content_id fb_content_id content_id id item_id item_ids -
af_content fb_content - - - - Custom conversion meta
af_currency fb_currency price_currency currency currency_code currency currency
af_quantity fb_num_items number_items quantity quantity number_items quantity
af_validated - - - 已验证 success Voucher
af_receipt_id - - transaction_id transaction_id - Conversion Reference
af_order_id fb_order_id - - order_id transaction_id Clickref
af_content_list fb_content_id - - item_id - Custom item meta
af_date_a fb_checkin_date - din start_date - -
af_date_b fb_checkout_date - dout end_date - -
af_departing_ departure_date fb_departing_ departure_date - - - - -
af_returning_ departure_date fb_returning_ departure_date - - - - -
af_destination_a fb_origin_airport - - origin - -
af_destination_b fb_destination_ airport - - destination - -
af_destination_list fb_destination_ids - - - - -
af_city fb_city - - - - -
af_region fb_region -- -- -- -- -
af_country fb_country - - - - -
af_departing_arrival_ date fb_departing_arrival_ date - - - - -
af_returning_arrival_ date fb_returning_arrival_ date - - - - -
af_suggested_ destinations fb_suggested_ destinations - - - - -
af_travel_start fb_travel_start - - - - -
af_travel_end fb_travel_end - - - - -
af_num_adults fb_num_adults - - - - -
af_num_children fb_num_children - - - - -
af_num_infants fb_num_infants - - - - -
af_class fb_travel_class - - travel_class - -
af_suggested_ hotels fb_suggested_ hotels - - - - -
af_user_score fb_user_score - - - - -
af_hotel_score fb_hotel_score - - - - -
af_price fb_purchase_value - price** price - value
af_purchase_ currency fb_purchase_ currency - - - - -
af_preferred_star_ ratings fb_preferred_star_ ratings - - - - -
af_preferred_price_ range fb_preferred_price_ range - - - - -
af_preferred_ neighborhoods fb_preferred_ neighborhoods - - - - -
af_preferred_num_ stops fb_preferred_num_ stops - - - - -

* af_revenue 用于计算 AppsFlyer 平台中的收入。

**af_price - 您可使用 af_price 作为不计算收入的货币参数(例如“添加到购物车”事件)。 该参数意指单个商品价格。 所有购买的总金额用 af_revenue 参数表示。

 

广告点击

事件名称: af_ad_click

说明: 用于追踪应用中展示广告的点击次数

事件参数 (Android): AFInAppEventType.AD_CLICK

事件参数 (iOS): AFEventAdClick

Facebook 映射时间: AdClick

Twitter映射事件: 无

Criteo映射事件:无

Google Ads: 无

推荐属性: af_adrev_ad_type

属性映射:

AppsFlyer Facebook Twitter Criteo Google Ads
af_adrev_ad_type ad_type - - -
af_currency fb_currency - - -

 

 

分享

事件名称: af_share

描述:用于追踪分享事件

事件参数 (Android): AFInAppEventType.SHARE

事件参数 (iOS): AFEventShare

Facebook 映射 事件: 无

Twitter 映射事件: SHARE

Criteo映射事件:无

Google Ads: share

推荐 属性: af_description

属性映射:

AppsFlyer Facebook Twitter Criteo Google Ads
af_description - description - description

 

 

邀请

事件名称: af_invite

描述:用于追踪邀请(社交)事件

事件参数 (Android): AFInAppEventType.INVITE

事件参数 (iOS): AFEventInvite

Facebook 映射事件: None

Twitter 映射事件: INVITE

Criteo映射事件:无

Google Ads: invite

推荐属性: 无

属性映射:

AppsFlyer Facebook Twitter Criteo Google Ads
af_description - description - description

登录

事件名称:af_login

描述:用于追踪用户登录事件

事件参数 (Android): AFInAppEventType.LOGIN

事件参数 (iOS): AFEventLogin

Facebook 映射事件: None

Twitter 映射事件: LOGIN

Criteo映射事件:无

Google Ads: login

推荐属性: 无

 

 

用户唤醒

事件名称: af_re_engage

描述: 用于追踪用户的重参与事件

事件参数 (Android): AFInAppEventType.RE_ENGAGE

事件参数 (iOS): AFEventReEngage

Facebook 映射 事件: 无

Twitter 映射事件: RE_ENGAGE

Criteo映射事件:无

Google Ads: custom_event

推荐 属性: 无

属性映射:

AppsFlyer Facebook Twitter Criteo Google Ads
af_description - description - description

 

 

从推送通知打开

事件名称: af_opened_from_push_notification

描述:用于追踪从推送通知打开应用的事件

事件参数 (Android): AFInAppEventType.OPENED_FROM_PUSH_NOTIFICATION

事件参数 (iOS): AFEventOpenedFromPushNotification

Facebook 映射事件: None

Twitter映射事件: 无

Criteo映射事件:无

Google Ads: notification_open

推荐 属性: 无

 

 

2、 应用内事件限制

  • 事件名称:最多45个字符

  • 事件值:不得超过1000个字符-如超过这个长度,我们可能会截断它

  • 定价和收入:仅使用数字和小数点,例如5或5.2

  • 价格和收入最多可以到小数点后5位,如5.12345

  • 从Android SDK V4.8.1开始,应用内事件和其他SDK API都支持非英语字符。

     

3、 记录应用内事件的示例

您可以通过调用trackEvent来记录应用内事件的名称和参数值。有关更多详细信息,请参见应用内事件文档。

以下是有关如何记录购买事件的简单示例。关于每个行业的现成代码片段列表,请参阅详细应用内事件指南

示例:应用内购买活动

Java

Map<String,Object> eventValues = new HashMap<>();
eventValues.put(AFInAppEventParameterName.REVENUE, 1200);
eventValues.put(AFInAppEventParameterName.CURRENCY, "JPY");
eventValues.put(AFInAppEventParameterName.CONTENT_TYPE, "Shoes");
AppsFlyerLib.getInstance().trackEvent(this, AFInAppEventType.PURCHASE, eventValues);

 

4、记录离线应用内事件

如果用户在互联网连接不可用时启动事件,Appsflyer仍然可以记录该事件。它是这样工作的:

  1. SDK 将事件发送到 AppsFlyer 的服务器并等待响应。

  2. 如果 SDK 没有收到响应200, 则该事件将存储在缓存中。

  3. 收到下一个响应200后, 存储的事件将重新发送到服务器。

  4. 如果缓存中有多个事件, 它们将被立即按序发送到服务器。

注意

SDK 的缓存最多可以存储40个事件, 这意味着只保存脱机发生的前40个事件。所有之后的事件都会被丢弃,直到下一个相应200。

原始数据中显示的事件时间是设备再次联机后事件发送到AppsFlyer的时间。不是事件发生的实际时间。

 

5、记录应用内事件处理成功和失败的信息

您可以在记录应用内事件时设置监听器。监听器可以给两种场景定义逻辑:

  • 应用内事件已成功记录。

  • 记录应用内事件时发生错误。

Java

AppsFlyerLib.getInstance().trackEvent(getApplicationContext(), AFInAppEventType.PURCHASE, eventValue, new AppsFlyerTrackingRequestListener() {
      @Override
      public void onTrackingRequestSuccess() {
        Log.d(AppsFlyerLibCore.LOG_TAG, "onTrackingRequestSuccess");
      }
      @Override
      public void onTrackingRequestFailure(String error) {
        Log.d(AppsFlyerLibCore.LOG_TAG, "onTrackingRequestFailure: " + error);
      }
 });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AppsFlyer 研究(二)应用内事件 的相关文章

  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • 在具有相同属性名称的不同数据类型上使用 ModelMapper

    我有两节课说Animal AnimalDto我想用ModelMapper将 Entity 转换为 DTO 反之亦然 但是对于具有相似名称的一些属性 这些类应该具有不同的数据类型 我该如何实现这一目标 动物 java public class
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 如何创建像谷歌位置历史记录一样的Android时间轴视图?

    我想设计像谷歌位置历史这样的用户界面 我必须为我正在使用的应用程序复制此 UIRecyclerView 每行都是水平的LinearLayout其中包含右侧的图标 线条和视图 该线是一个FrameLayout具有圆形背景和半透明圆圈Views
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • SharedFlow 和 StateFlow 的主要区别

    两者有什么区别共享流 and 状态流 以及如何使用这些MVI建筑学 使用简单更好吗Flow或者这些作为状态和事件 Flow 是冷的 意味着它仅在收集数据时才发出数据 另外Flow不能保存数据 可以把它看成是水在里面流动的管道 Flow中的数
  • Android:有没有办法以毫安为单位获取设备的电池容量?

    我想获取设备的电池容量来进行一些电池消耗计算 是否可以以某种方式获取它 例如 三星 Galaxy Note 2 的电池容量为 3100mAh 谢谢你的帮助 知道了 在 SDK 中无法直接找到任何内容 但可以使用反射来完成 这是工作代码 pu
  • Android 如何聚焦当前位置

    您好 我有一个 Android 应用程序 可以在谷歌地图上找到您的位置 但是当我启动该应用程序时 它从非洲开始 而不是在我当前的城市 国家 位置等 我已经在developer android com上检查了信息与位置问题有关 但问题仍然存在
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour
  • java迭代器内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个员工列表 List
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框
  • 如何删除因 Google Fitness API 7.5.0 添加的权限

    将我的 play services fitness api 从 7 0 0 更新到 7 5 0 后 我注意到当我将新版本上传到 PlayStore 时 它 告诉我正在添加一个新权限和 2 个新功能 我没有这样做 有没有搞错 在做了一些研究来

随机推荐

  • nrm 的安装和使用

    NRM介绍 官方解释 开发的npm registry 管理工具 nrm 能够查看和切换当前使用的registry 换言之nrm的作用就是方便用户切换npm的镜像源地址 npm的原始镜像源地址是在国外 国内网络访问比较慢 因此国内的某些大佬机
  • jupyter生成视频动画video anmation

    本文介绍一个正弦余弦波案例来展示jupyter生成动画过程 首先电脑安装一个叫做ffmpeg的软件 只有40M 是一个关于网页制作动画的软件 安装过程见博客 15条消息 安装ffmpeg并写入jupyter matplotlib 山晨啊8的
  • 目录遍历的三种方法

    1 目录的遍历 递归函数 def visitDir path li os listdir path for p in li pathname os path join path p if not os path isfile pathnam
  • Docker与容器的基本概念

    本文主要对Docker和容器的一些基本概念进行一个总结 一 容器与虚拟机 1 什么是容器 Docker官方对容器的解释 一句话概括 容器 Container 就是将软件打包成标准化单元 以用于开发 交付和部署 容器是打包代码及其所有依赖的软
  • mesa图解

    http www sourcecodebrowser com mesa 7 8 2 state 8c html
  • C - Divisors of the Divisors of An Integer Gym - 102040C

    题目链接 题意 就是求n 中因子的因子的个数 题解 n 中某个因子的个数就是n x的累加 证明 其实就是每次褪一层 即每次除去能除于1个3的 依次两个3的 三个3的个数 最终也就能得到3的个数 这里没必要 整除 因为是阶乘 所以即使不能整除
  • Redis初级命令

    一 常用key命令 查看所有key keys 查看key的类型 type key 返回状态1 0 True False 当传入多个key时返回or的结果 即只要有一个存在就返回True exists key key 将key从当前db移动到
  • 学生成绩管理系统数据库设计--MySQL

    MySQL 数据库设计 学生成绩管理系统 设计大纲 友情链接 1 医疗信息管理系统数据库 MySQL 2 邮件管理数据库设计 MySQL 3 点餐系统数据库设计 SQL Server 4 商品管理系统数据库设计 SQL Server 5 S
  • JavaEE架构之传统三层架构,集群架构,分布式架构,微服务架构

    javaEE架构 1 传统三层架构 all in one项目 传统三层架构大致可以分为表现层 业务层和持久层 数据访问层 其中表现层负责接受请求和转发请求 业务层负责处理请求 注 事务管理 日志记录等AOP类型的操作均封装在这一层 持久层主
  • 将web项目导出到远程服务器的tomcat中

    将web项目导出到远程服务器的tomcat中 前期准备 步骤 前期准备 eclipse2017创建的web项目 阿里云服务器中存在tomcat 远程连接工具 windows自带 步骤 1 在eclipse上将完成好的web项目导出为war文
  • ubuntu linux安装pytorch和torchvision

    1 下载镜像 镜像网址 https download pytorch org whl torch stable html 假设你要下载torch1 4 0版本 cp36代表你的环境是python3 6 cu100代表的是你的cuda是10
  • C语言大作业学生成绩管理系统

    1 设计要求 利用所学的知识 理论和实际结合 利用资源 采用模块化的结构 使用模仿修改自主设计相结合的方法 锻炼学生综合分析解决实际问题的编程能力 通过C语言各个函数功能来实现对学生信息的管理 学生信息包括学生姓名 学号 各科成绩 管理方式
  • c++中的成员访问级别和派生继承方式

    1 一个类中的不同变量和函数的访问属性 总共有三种访问级别 public private protected 在类中定义的成员变量和成员函数的时候 如果不在变量前面加上访问级别修饰符 类中默认为私有成员变量或者私有成员函数 而在结构体中如果
  • OOALV data_changed 與data_changed_finished事件

    data changed在可編輯字段的數據發生變化時才會觸發 可用來檢查輸入數據的正確性 data changed finished在回車時和可編輯字段數據發生變化后 光標移動時觸發 如果可編輯字段數據檢查失敗 則不會觸發此事件 這兩個事件
  • 服务器端hsm芯片,数据加密服务CloudHSM

    数据加密服务 CloudHSM 基于国密局认证的物理加密机 Hardware Security Module HSM 利用虚拟化技术 提供弹性 高可用 高性能的数据加解密 密钥管理等云上数据安全服务 符合国家监管合规要求 满足金融 互联网等
  • 戴尔r410服务器虚拟磁盘,DELL服务器R410原装 SAS 6/IR RAID卡 阵列控制器卡 支持RAID0,1...

    SAS 6 iR 功能 Dell 串行连接 SCSI 6 iR 集成控制器和适配器 用户指南 介绍了 Dell串行连接 SCSI SAS 6 iR 控制器的规格 下表对 SAS 6 iR 适配器和 SAS 6 iR 集成控制器的规格进行了比
  • KITTI数据集之点云地图构建

    本文描述了如何通过KITTI数据集 读取激光雷达点云数据 并通过ground truth 对前后两帧点云进行旋转变换 使得二者统一坐标系 不断叠加点云进行点云建图的过程 使用的是KITTI odometry中的07号数据集 其主要内容包括
  • android BSP

    HAL 硬件抽象层 BootLoader 硬件初始化管控 Linux Device Driver Linux 内核驱动
  • Macbook pro搭建unbutu18.04的步骤(省钱又实惠)

    第一步 下载parallels desktop 链接 https pan baidu com s 17Bqw0rWezrfOMLZqTaImag 密码 h0z5 注意 在线下载 离线安装 省钱省事 永久自动激活 小编花了十块钱 第二步 运行
  • AppsFlyer 研究(二)应用内事件

    一 记录应用内事件 应用内事件可助您深入了解应用里正在发生的事 我们建议您花些时间定义要记录的事件 记录应用内事件有助于您衡量KPI 例如ROI 投资回报率 和LTV 生命周期价值 有几种方法可以记录应用内事件 最常见的方法是通过我们在本文