簡體   English   中英

成功/取消后,Facebook分享對話框未關閉

[英]Facebook Share Dialog not closing after success/cancel

我設法通過自定義類(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是一個靜態整數,包含-是-得分。

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)嘗試將public void更改為public override void

2)您需要在收到通知后手動調用dismissModalViewControllerAnimated

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM