ios - 我到底应该在哪里调用 [FBSettings publishInstall :appId]

标签 ios facebook sdk

我正在考虑集成对跟踪 Facebook 新移动应用广告的支持。

我在这里阅读了教程: https://developers.facebook.com/docs/tutorials/mobile-app-ads/

它说:

Include the following code to be executed when your app opens for the first time by user

[FBSettings publishInstall:appId];

所以第一个问题是 - 我应该把它放在哪里,以便它只在安装是从 Facebook 驱动时调用调用?我不希望 FB 因在应用商店中自己找到我的应用的人而获得荣誉。

我是否需要手动跟踪之前是否为该特定用户调用过 publishInstall? (序言句暗示了这一点 - 但 publishInstall 的 SDK 文档另有暗示)。

更令人困惑的是,SDK FBSettings 引用包括 shouldAutoPublishInstall,默认为 YES。这表明除了集成 SDK 之外我不需要做任何事情。那么,为什么本教程没有将此作为选项提及呢?

我假设 appId 是关联的 Facebook appId(与 App Store App ID 相对)。文档中也不清楚这一点。

最佳答案

我浏览了 facebook iOS SDK 的源代码,似乎指南是错误的。

你是对的,autoPublishInstall 默认设置为 YES,这意味着我们不需要调用 [FBSettings publishInstall:appId]; 手动。 AppId 确实是 facebook 应用程序 ID。

当您调用 openActiveSessionWith.... 方法时,它会初始化 FBSession initWithAppID:permissions:defaultAudience:urlSchemeSuffix:tokenCacheStrategy: 最后包含 [FBSettings autoPublishInstall:self.appID];

+ (void)autoPublishInstall:(NSString *)appID {
    if ([FBSettings shouldAutoPublishInstall]) {
        dispatch_once(&g_publishInstallOnceToken, ^{
            // dispatch_once is great, but not re-entrant.  Inside publishInstall we use FBRequest, which will
            // cause this function to get invoked a second time.  By scheduling the work, we can sidestep the problem.
            [[FBSettings class] performSelector:@selector(publishInstall:) withObject:appID afterDelay:FBPublishDelay];
        });
   }
}

所以从技术上讲,它应该报告开箱即用的安装(如果我没有遗漏任何东西)。我今天要多玩一会儿,看看它是否按预期工作,并用结果更新答案。

关于ios - 我到底应该在哪里调用 [FBSettings publishInstall :appId],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12955259/

相关文章:

iphone - 如何让应用程序在后台响铃?

ios - 显示刷新页面 IOS-Xamarin

ios - 我不明白为什么这个 @selector 不起作用

sdk - 如何使用包含 CMake 的 Yocto 构建 SDK?

ios - 请任何人都可以告诉我如何使用谓词从数组中过滤数组。?

css - Chrome 和 Firefox/Safari 之间的 Facebook Graph API 个人资料图片大小存在差异

Javascript Number-String DIV onclick 奇怪的转换

iphone - 选择声音文件+ iPhone SDK

android - 将按钮背景颜色反转为 Android SDK 中的默认颜色

javascript - Facebook Javascript API : tracking user adding application for first time