成功/取消后,Facebook共享对话框未关闭

本文关键字:对话框 共享 Facebook 取消后 成功 | 更新日期: 2023-09-27 18:27:07

我设法用自定义类(ShareDialog有受保护的构造函数)将Facebook(Xamarin.Facebook.iOS)集成到我的游戏中:

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,包含-是-Score。

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()
    {
    }
}

我有两个问题:

  1. 未调用DidComplete/DidFail/DidCancel。

  2. 一切正常,共享正在按时间线发布,但单击"共享/取消"后,对话框没有关闭。。。

我做错了什么?

成功/取消后,Facebook共享对话框未关闭

1)尝试将public void更改为public override void

2) 收到通知后,您需要手动调用dismissModalViewControllerAnimated