Facebook Share Dialog не закрывается после успеха / отмены

Мне удалось интегрировать Facebook (Xamarin.Facebook.iOS) в мою игру с пользовательским классом (ShareDialog имеет защищенный конструктор):

public class MyShareDialog : Facebook.ShareKit.ShareDialog
    {
        public MyShareDialog() : base(NSObjectFlag.Empty)
        {
        }
    }

Затем я создаю и показываю диалог:

string url = "http://my-url.com/class-to-generate-picture.php?score=" + Board.Score + "&textUp=" + 
System.Web.HttpUtility.UrlEncode("facebook_I_Scored".Localize());

                var myShareDialog = new MyShareDialog();


                var content = new Facebook.ShareKit.ShareLinkContent {
                    ContentDescription = "facebook_URLTitle".Localize(), 
                    ContentTitle = "facebook_URLDescription1".Localize() + " " + 
                        Board.Score + " " + "facebook_URLDescription2".Localize(), 
                    ImageURL = new NSUrl(url)};
                content.SetContentUrl(new NSUrl("http://my-url.com"));

                myShareDialog.SetShareContent(content);
                myShareDialog.SetDelegate(new MyShareDelegate());

                myShareDialog.Show();

Localize () - это мой метод расширения для получения локализованных строк (я использую этот код для Windows и Android, и это расширение дает мне комфорт общего кода:)). Board.Score - это статический int, который содержит - да - счет.

MyShareDelegate:

public class MyShareDelegate : Facebook.ShareKit.ISharingDelegate
{
public IntPtr Handle { get; }

    public void DidComplete (Facebook.ShareKit.ISharing sharer, NSDictionary results)
    {
    }

    public void DidFail (Facebook.ShareKit.ISharing sharer, NSError error)
    {
    }

    public void DidCancel (Facebook.ShareKit.ISharing sharer)
    {
    }

    public void Dispose()
    {

    }
}

У меня 2 проблемы:

  1. DidComplete / DidFail / DidCancel не вызывается.

  2. Все работает нормально, общий доступ публикуется на временной шкале, НО после нажатия кнопки ПОДЕЛИТЬСЯ / ОТМЕНА диалоговое окно не закрывается...

Что я делаю неправильно?

1 ответ

1) Попробуй поменять public void в public override void,

2) Вам нужно вручную позвонить dismissModalViewControllerAnimated после получения уведомления

Другие вопросы по тегам