Хобрук: Ваш путь к мастерству в программировании

Facebook SDK для Unity, ошибка FB.Feed на iOS

У нас очень странная проблема. При использовании Facebook SDK в Unity и вызове FB.Feed после входа в систему диалоговое окно Facebook на мгновение появляется, а затем снова закрывается на экране игры. Это происходит только в версии нашей игры для iOS и происходит самый первый раз, когда мы пытаемся опубликовать сообщение на Facebook после установки. Каждый последующий раз работает отлично.

Я не смог найти никакой информации по этому поводу и был бы очень признателен за любую помощь.

public IEnumerator ShareToFacebook ()
{
    if(!FB.IsLoggedIn)
    {
        FB.Login("email", LoginCallback);
        yield return FB.IsLoggedIn;
    }

    FB.Feed( link: linkParameterSet, linkName: nameParameterSet, linkCaption: captionParameterSet, linkDescription: GetDisplayTextFB(), picture: pictureParameterSet);
}

Это код C#, который я использую, все параметры для FB.Feed являются строками, установленными в другом месте.


Ответы:


1

Я обычно делаю так:

public delegate void OnShare(bool success);
static OnShare onShareCallback;
public static void Share(string link, string linkName, string linkCaption, string linkDescription, string picture, string actionName, string actionLink, OnShare callback)
{
    onShareCallback = callback;
    FB.Feed(
        toId: null,
        link: link,
        linkName: linkName,
        linkCaption: linkCaption,
        linkDescription: linkDescription,
        picture: picture,
        mediaSource: null, 
        actionName: actionName,
        actionLink: actionLink,
        reference: null,
        properties: null,
        callback: ShareCallback
    );
}

public static void ShareCallback(FBResult result)
{
    if (!String.IsNullOrEmpty(result.Error))
    {
        if (onShareCallback != null)
        {
            onShareCallback(false);
            onShareCallback = null;
        }
    }
    else
    {
        if (onShareCallback != null)
        {
            onShareCallback(true);
            onShareCallback = null;
        }
    }
}

Он статичен, его можно использовать везде, даже не прикрепляя скрипт к игровому объекту.

Я называю это так:

MyFacebook.Share(link, linkName, linkCaption, linkDescription, picture, actionName, actionLink, ProcessFacebookShare);


void ProcessFacebookShare(bool success)
{
    if(success)
    {
        Debug.Log("Successfully shared!");
    }
    else
    {
        Debug.Log("There was a problem with facebook sharing");
    }
}

Надеюсь, поможет!

10.02.2015
Новые материалы

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...