16

Facebookの新しいモバイルアプリ広告を追跡するためのサポートを統合することを検討しています。

ここでチュートリアルを読みました: https ://developers.facebook.com/docs/tutorials/mobile-app-ads/

それは言う:

ユーザーがアプリを初めて開いたときに実行される次のコードを含めます

[FBSettings publishInstall:appId];

したがって、最初の質問は、インストールがFacebookから駆動された場合にのみ呼び出しを呼び出すように、これをどこに配置すればよいですか?アプリストアで自分のアプリを見つけた人のクレジットをFBに取得させたくありません。

この特定のユーザーに対して以前にpublishInstallを呼び出したかどうかを手動で追跡する必要がありますか?(前文はこれを意味しますが、publishInstallのSDKドキュメントはそうではないことを意味します)。

さらに紛らわしいのは、SDKFBSettingsリファレンスにshouldAutoPublishInstallデフォルトのが含まれていることYESです。これは、SDKを統合する以外に何もする必要がないことを示唆しています。では、なぜチュートリアルではこれをオプションとして言及していないのですか?

appIdは(App Store App IDではなく)関連付けられたFacebookappIdであると想定しています。これもドキュメントからは明らかではありません。

4

4 に答える 4

7

facebook iOS SDK のソースを閲覧しましたが、ガイドが間違っているようです。

そうです、これはデフォルトで にautoPublishInstall設定されているため、手動でYES呼び出す必要はありません。確かにFacebookのアプリIDです。[FBSettings publishInstall:appId];AppId

メソッドを呼び出すと、最後に含まれている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];
        });
   }
}

したがって、技術的には、インストールをすぐに報告する必要があります(何かが欠けていない場合)。今日はもう少し遊んで、期待どおりに機能するかどうかを確認し、結果で回答を更新します。

于 2012-10-23T08:35:18.320 に答える
6
  1. に置くだけ-[application:didFinishLaunchingWithOptions]です。

  2. すべてのアプリがFacebookログインを統合することを望んでいるわけではありません。彼らは「モバイルアプリインストール広告」機能だけを望んでいます。この種のアプリの場合、+[FBSettings publishInstall:appId]手動で呼び出す必要があります。一方、アプリにFacebookログインがすでに統合されている場合は、FBSDKがインストールを公開していると見なすことができます。

于 2012-11-14T08:46:43.090 に答える
3

置くだけなら

[FBSettings publishInstall:appId];

手動で

-[application:didFinishLaunchingWithOptions]

どのインストールが Facebook から発生したかを特定するにはどうすればよいですか? アプリ ストアで自分のアプリを見つけた人の名前を FB につけてほしくありません。

于 2013-01-30T06:10:41.500 に答える
2

コードを Appdelegate DidbecomeActive メソッドに入れます

- (void)applicationDidBecomeActive:(UIApplication *)application

この助けを願っています:)

于 2013-07-16T10:30:48.203 に答える