首页 > Windows开发 > 详细

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

时间:2014-04-13 15:40:57      阅读:492      评论:0      收藏:0      [点我收藏+]

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

授权

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

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

 

bubuko.com,布布扣
        /// <summary>
        /// 获取或设置当前进行分享的社区
        /// </summary>
        public static SocialClient CurrentClient { set; get; }

        /// <summary>
        /// 获取或设置当前进行分享的社区类型
        /// </summary>
        public static SocialType SocialType { set; get; }
bubuko.com,布布扣

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

bubuko.com,布布扣
  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));
        }
bubuko.com,布布扣

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

bubuko.com,布布扣
 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));
                });
            }
        }
bubuko.com,布布扣

 

分享

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

bubuko.com,布布扣
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);
            });
        }
bubuko.com,布布扣

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

 

 

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

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

原文:http://www.cnblogs.com/HappyWill/p/3660014.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!