2015-01-16 4 views
1

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

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

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 - это строки, установленные в другом месте.

ответ

0

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

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"); 
    } 
} 

Надеется, что это помогает!

Смежные вопросы