Параметр "custom_events" или "custom_events_file" необходим для активности "CUSTOM_APP_EVENTS"

После обновления с iOS SDK от версии 3.7.1 до 3.8 я начал видеть следующее в моем журнале консоли при аутентификации с помощью моего приложения через Facebook:

FBSDKLog: Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0xc5a9cf0 {com.facebook.sdk:HTTPStatusCode=400, com.facebook.sdk:ParsedJSONResponseKey={
    body =     {
        error =         {
            code = 100;
            message = "(#100) The parameter 'custom_events' or 'custom_events_file' is required for the 'CUSTOM_APP_EVENTS' activity";
            type = OAuthException;
        };
    };
    code = 400;
    headers =     (
                {
            name = "Access-Control-Allow-Origin";
            value = "*";
        },
                {
            name = "Cache-Control";
            value = "no-store";
        },
                {
            name = Connection;
            value = close;
        },
                {
            name = "Content-Type";
            value = "text/javascript; charset=UTF-8";
        },
                {
            name = Expires;
            value = "Sat, 01 Jan 2000 00:00:00 GMT";
        },
                {
            name = Pragma;
            value = "no-cache";
        },
                {
            name = "WWW-Authenticate";
            value = "OAuth \"Facebook Platform\" \"invalid_request\" \"(#100) The parameter 'custom_events' or 'custom_events_file' is required for the 'CUSTOM_APP_EVENTS' activity\"";
        },
                {
            name = "x-fb-loadmon";
            value = "0,2.76,90";
        }
    );
}, com.facebook.sdk:ErrorSessionKey=<FBSession: 0x12e5e9c0, state: FBSessionStateOpen, loginHandler: 0x12e58630, appID:..., urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0xd884b00>, expirationDate:..., refreshDate:..., attemptedRefreshDate:..., permissions:...>}

Я загрузил самые последние версии приложений Facebook iOS и подтвердил, что мои вызовы в SDK Facebook в моем AppDelegate являются актуальными. Для аутентификации я отправляю сообщение openActiveSessionWithReadPermissions:allowLoginUI:completionHandler: на FBSession.

Кажется, что это очень хорошо может быть ошибкой в ​​Facebook (я собираюсь подать с ними ошибку), но также возможно, что я делаю что-то неправильно - любая помощь/понимание будут оценены!

Я временно решил проблему, добавив вызов в [FBAppEvents setFlushBehavior:FBAppEventsFlushBehaviorExplicitOnly]; в моем AppDelegate, но я бы предпочел более полное решение.

3/24/2014 Редактировать

Это больше не воспроизводится на 3.8 (и не воспроизводится на 3.13, которое я также тестировал). Кажется, что Facebook должен был установить это на сервере.

Ответы

Ответ 1

  • Перейти к developers.facebook.com
  • В строке заголовка нажмите "Приложения"
  • Выберите приложение, в котором вы сейчас работаете, и нажмите "Изменить приложение"
  • На панели навигации слева вы увидите вкладку "Настройки"
  • В разделе "Настройки" перейдите на вкладку "Дополнительно" и прокрутите страницу вниз до раздела "Insights".
  • Измените "Install Insights" и "Mobile SDK Insights" на "Disabled".

Ответ 2

Я запускаю FB SDK 3.9 и все еще получаю эту ошибку.

Я нашел это как обходное решение.

Добавьте эту строку в AppDelegate:: appDidFinishLaunchingWithOptions

[FBAppEvents setFlushBehavior:FBAppEventsFlushBehaviorExplicitOnly];

Ответ 3

В разделе "Настройки" > "Дополнительно" в консоли приложения Facebook попробуйте отключить "Install Insights" и "Mobile SDK Insights" (если вам это не нужно в маркетинговых целях)

Ответ 4

У меня такая же ошибка. Обновление до FacebookSDK 3.9 исправлено для меня. Мне не нужно было отключать информацию.