SuperSocialShare:Windows phone平台上的超级分享库

SuperSocialShare(https://ssshare.codeplex.com/)是一个面向中国的Windows Phone 8开发人员的社交分享SDK,封装了国内主流社交平台(新浪微博、腾讯微博、人人网、开心网、搜狐微博、网易微博)的分享接口,让开发者实现应用内的一键分享变得更简单。

授权

社交平台的分享都需要用户登录授权,SuperSocialShare对各大平台的OAuth2.0授权接口进行统一,开发者需要到相应的社交平台的开放平台上注册应用,获取应用的App Key、App Secret和CallbackUrl(回调地址,各个平台的回调地址注册方式不同,需要开发者细心)。

首先在App中定义全局的SocialType和SocialClient;

 

SuperSocialShare:Windows phone平台上的超级分享库
        /// <summary>
        /// 获取或设置当前进行分享的社区
        /// </summary>
        public static SocialClient CurrentClient { set; get; }

        /// <summary>
        /// 获取或设置当前进行分享的社区类型
        /// </summary>
        public static SocialType SocialType { set; get; }
SuperSocialShare:Windows phone平台上的超级分享库

分享前先检查相应社区的授权是否可用,如果可用直接进入分享页面,如果未进行授权或者授权信息已经过期,则进入授权页面。

SuperSocialShare:Windows phone平台上的超级分享库
  void process(SocialType type)
        {
            App.SocialType = type;
            switch (type)
            {
                case SocialType.KaiXin:
                    App.CurrentClient = new KaixinClient();
                    break;
                case SocialType.NetEase:
                    App.CurrentClient = new NetEaseClient();
                    break;
                case SocialType.Renren:
                    App.CurrentClient = new RenrenClient();
                    break;
                case SocialType.Sina:
                    App.CurrentClient = new SinaClient();
                    break;
                case SocialType.SoHu:
                    App.CurrentClient = new SoHuClient();
                    break;
                case SocialType.Tencent:
                    App.CurrentClient = new TencentClient();
                    break;
                default:
                    break;
            }
            if (AuthorizeManager.IsAuthorizeValid(type))
            {
                NavigationService.Navigate(new Uri("/SharePage.xaml", UriKind.Relative));
            }
            else
                NavigationService.Navigate(new Uri("/AuthorizePage.xaml", UriKind.Relative));
        }
SuperSocialShare:Windows phone平台上的超级分享库

授权页面上需要SuperSocialShare.Controls命名空间下的AuthorizeControl控件,并且后台代码中注册AuthorizeControl的AuthorizeCompleted事件。

SuperSocialShare:Windows phone平台上的超级分享库
 AuthorizeControl.Client = App.CurrentClient;
 AuthorizeControl.AuthorizeCompleted += AuthorizeControl_AuthorizeCompleted;
 AuthorizeControl.BeginRequest();

 void AuthorizeControl_AuthorizeCompleted(AsyncEventArgs e)
        {
            if (e.Error == null)
            {
                _authorizeSucceed = true;
                Dispatcher.BeginInvoke(() =>
                {
                    MessageBox.Show("Authorize Succeed!");
                    NavigationService.Navigate(new Uri("/SharePage.xaml", UriKind.Relative));
                });
            }
        }
SuperSocialShare:Windows phone平台上的超级分享库

 

分享

授权成功后进入分享页面,调用SocialClient的ShareText或者ShareTextWithImage进行分享。同时注册SocialClient的ShareCompleted事件,在事件的处理函数中查看分享是否成功或者查看分享失败的原因。

SuperSocialShare:Windows phone平台上的超级分享库
void CurrentClient_ShareCompleted(object sender, AsyncEventArgs e)
        {
            string tip = string.Empty;
            if (e.Error == null)//分享成功 
            {
                tip = "分享成功!";
            }
            else
            {
                tip = "分享失败,error:" + e.Error.Message;
            }

            Dispatcher.BeginInvoke(() =>
            {
                MessageBox.Show(tip);
            });
        }
SuperSocialShare:Windows phone平台上的超级分享库

这里简单介绍了一下SuperSocialShare的用法,https://ssshare.codeplex.com/上有完整的Demo工程。

 

 

SuperSocialShare:Windows phone平台上的超级分享库,布布扣,bubuko.com

SuperSocialShare:Windows phone平台上的超级分享库

上一篇:WinForm:DataGridViewButtonColumn的使用


下一篇:.net Windows服务程序和安装程序制作图解