ios - 将 Facebook SDK `activateApp` 添加到 `applicationDidBecomeActive`?
问题描述
是否需要FBSDKAppEvents.activateApp()
在未设置applicationDidBecomeActive
为时添加?FacebookAutoLogAppEventsEnabled
false
根据FBSDKAppEvents.h
它是没有必要的:
通知事件系统应用程序已启动,并在适当时记录“激活的应用程序”事件。此函数会从 FBSDKApplicationDelegate applicationDidBecomeActive 自动调用,除非在项目信息 plist 文件中将“FacebookAutoLogAppEventsEnabled”键覆盖为 false。如果“FacebookAutoLogAppEventsEnabled”设置为 false,则通常应将其放置在应用程序委托的
applicationDidBecomeActive:
方法中。
FB docs确认了这一点,其中添加activateApp
位于“手动事件记录”下:
提供了此处描述的使用 SDK 进行手动事件记录的过程,以便您可以选择控制何时记录应用程序事件。我们建议您不要禁用自动日志记录,因为它可能会影响为您的应用收集数据的方式。
但是,在Swift Reference中它说:
将应用程序激活记录为应用程序事件可启用大多数其他功能,并且应该是您添加到应用程序的第一件事。
那么应该添加它还是为 Swift 应用程序自动调用它?
解决方案
FacebookAutoLogAppEventsEnabled
- 自动收集应用程序事件。FBSDKAppEvents.activateApp()
- 手动发送应用程序事件。它保证事件将被强制收集,无论外部因素如何,当然如果SDK使用正确的AppId初始化。
基于FB 文档的讨论FBSDKAppEvents.activateApp()
:
activateApp
不会在每次应用程序启动时记录事件,因为每次应用程序在后台运行然后再前台运行时都会启动。当应用程序未激活超过 60 秒时,将记录“激活的应用程序”事件。
这表明他的内在逻辑很聪明,并不取决于他被叫到的方式、地点和频率。
如果这对您很重要,我的意见是收集应用程序事件以进行分析。我建议手动、并行且独立于自动调用FBSDKAppEvents.activateApp()
方法。这不会是警告、错误或违反指南。applicationDidBecomeActive
FacebookAutoLogAppEventsEnabled
如果我给出的论据太少,无法确认我的建议。然后,如有必要,我将以扩展的形式描述我所接受的指导以及我如何分析以采纳这种观点。
推荐阅读
- redirect - opencart 3 - 将主页重定向到类别
- singly-linked-list - 在尝试与另一个值交换时删除的单链表的第一个值(C++ 代码)
- arrays - 如何过滤列表
- >> 在 Flutter 中获取值?
- node.js - 执行 app.js 时,控制台出现错误
- wso2 - 在 wso2 api 管理器中将 wso2 身份服务器管理服务注册为 REST API
- python - 如何将 centralWidget 移动到左上角?
- git - 在 GitHub Actions 中压缩 Git-LFS 二进制文件并将它们作为资产添加到版本中?
- distribution - 如何在分布式环境中为标识符字符串生成一个唯一的整数?
- vba - VBA XMLHTTP 请求。启用以 HTML 格式获取数据以解析数据
- python - Python:我的函数是否需要 return 语句?