мне удалось интегрировать Facebook (Xamarin.Facebook.iOS) к моей игре с пользовательским классом (ShareDialog защищала конструктор):Facebook Share Диалог не закрывается после успеха/отменить
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 проблемы:
DidComplete/DidFail/DidCancel не называют.
Все работает отлично, доля публикуется на шкале НО после нажатия SHARE/ОТМЕНА диалог не закрывается ...
Что я делаю неправильно?
Процентовки не применяется здесь, я думаю, - это реализация интерфейса, а не derrived класса. И без работы «DidComplete» у меня нет места, чтобы поместить этот метод ... – WojGrze
Я изменил MyShareDelegate на: Публичный класс MyShareDelegate: Facebook.ShareKit.SharingDelegate и переопределить эти методы, но все равно не повезло (я пытаюсь показать UIAlertView после отмены/завершения) ... – WojGrze
Итак, после удаления 'yShareDialog.SetShareContent (content);' нет ничего, что могло бы с ним поделать, и DidFail вызывается. Но до сих пор нет успеха с DidComplete/DidCancel ... – WojGrze