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 研究(二)应用内事件 的相关文章

  • 获取当前 android.intent.category.LAUNCHER 活动的实例

    我创建了一个库项目 并在多个应用程序之间共享 我实现了一个简单的会话过期功能 该功能将在一段时间后将用户踢回到登录屏幕 登录屏幕活动是我的主要活动 因此在清单中它看起来像这样
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 如何默认在 ActionOpenDocument 意图中显示“内部存储”选项

    我需要用户选择一个自定义文件类型的文件 并将其从 Windows 文件资源管理器拖到 Android 设备上 但默认情况下内部存储选项不可用 当我使用以下命令启动意图时 var libraryIntent new Intent Intent
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 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 生命周期价值 有几种方法可以记录应用内事件 最常见的方法是通过我们在本文