将Facebook SDK“ activateApp”添加到“ applicationDidBecomeActive”吗?

时间:2018-06-24 00:24:41

标签: ios swift facebook-ios-sdk fbsdk

FBSDKAppEvents.activateApp()未设置为applicationDidBecomeActive的情况下是否需要向FacebookAutoLogAppEventsEnabled添加false

根据FBSDKAppEvents.h,没有必要:

  

通知事件系统该应用已启动,以及何时启动   适当,记录一个“已激活的应用”事件。 此功能称为   自动从FBSDKApplicationDelegate   applicationDidBecomeActive,除非在项目信息中将'FacebookAutoLogAppEventsEnabled'键覆盖为false   plist文件。如果“ FacebookAutoLogAppEventsEnabled”设置为   false,则通常应将其放置在应用程序委托的   applicationDidBecomeActive:方法。

这已由FB docs确认,其中在“手动事件记录”下添加了activateApp

  

此处介绍的使用SDK手动记录事件的过程是   提供,以便您可以选择控制应用程序事件的时间   被记录。我们建议您不要禁用自动日志记录   因为它可能会影响为您的应用收集数据的方式。

但是,Swift Reference中表示:

  

将应用程序激活记录为应用程序事件可启用大多数其他功能   功能,应该是您添加到应用中的第一件事。

那么应该添加它还是为Swift应用程序自动调用它?

1 个答案:

答案 0 :(得分:1)

  • FacebookAutoLogAppEventsEnabled-自动收集应用程序事件。

  • FBSDKAppEvents.activateApp()-手动发送应用程序事件。如果SDK使用正确的AppId初始化,则可以保证无论外部因素如何都将强制收集事件。

基于FBSDKAppEvents.activateApp()的{​​{3}}:

  

activateApp不会在每次启动应用程序时记录事件,因为启动是在应用程序先后台运行后发生的。   当应用程序超过60秒钟未激活时,将记录“已激活的应用程序”事件。

哪个暗示他的内部逻辑很聪明,并不取决于他被叫的方式,地点和频率。

我的观点(对于您而言很重要)是收集应用程序事件以进行分析。 我建议在FBSDKAppEvents.activateApp()中手动,并行且独立于自动applicationDidBecomeActive调用FacebookAutoLogAppEventsEnabled方法。 这不是警告,错误或违反准则。

如果我提出的论点太少,无法确认我的建议。然后,如有必要,我将以扩展的形式描述我所受的指导以及如何分析以采纳这种观点。