首页 > 代码库 > Windows Phone 8下 友盟社会化组件SDK2.0的使用。
Windows Phone 8下 友盟社会化组件SDK2.0的使用。
由于项目的需要,要将友盟的社会化组件SDK由0.9更新至2.0. 版本变化比较大。
1、很多类以及命名空间已经取消了。
如UmengSocialSDK.Net.Request命名空间, UmengSocial类等。
2、微信会话和朋友圈已整合成一个。
老版本两者分别是两个类,此处已经整合为一个。(WP8.1下暂时无法分享至微信、朋友圈)
分享内容支持三种:Link链接、Text文字、Picture图片
具体查看官方文档:http://dev.umeng.com/social/windows-phone/share/detail-share
对于各个分享,加入完整必须属性后,才能够分享成功,不然就无反应。(比如:分享图片,微信必须有Title和Image, 而其他平台不能要Title)
UmengPicture类
|
另外,无法实现将图片和文字同时分享到微信和朋友圈中。
(也就是说,图片分享至微信无法看到文字;链接分享到微信也只有一张可转到其他网页的图片,而无文字)
以新浪微博为例,分享屏幕截屏 (详细配置及其他事项的请参照官方说明文档):
SinaWeiboClient Sina = new SinaWeiboClient(DataBaseManager.AppYouMengKey); //创建对象private async void btnShare_Click(object sender, RoutedEventArgs e) //点击分享按钮{ bool flag = await Sina.CheckLoggedin(); //判断是否已(登陆)授权 if (flag) //如果已授权,则直接分享 { ShareImage(); //分享 } //如果目标平台未授权则先授权再分享 else { var rec = await Sina.LoginAsync(); //登陆,打开登陆授权页面 if (rec.Status == LoginStatus.Success) //登陆成功 { ShareImage(); } else { MessageBox.Show("登陆失败"); } }}private async void ShareImage() //分享图片{ var res = await Sina.SharePictureAsync(GetImageShare(), true); //调用分享图片方法,isEditable = true 可编辑 if (res.Status == ShareStatus.Success) //分享成功 MessageBox.Show("分享成功"); else if (res.Status == ShareStatus.UserCanceled) //用户退出分享界面 return; else MessageBox.Show("分享失败");}private UmengPicture GetImageShare() //返回值为UmengPicture类型{ WriteableBitmap writeableBitmap; writeableBitmap = ShotScreen(); //截屏 MemoryStream stream = new MemoryStream(); writeableBitmap.SaveJpeg(stream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 100); UmengPicture picture = new UmengPicture(stream.ToArray(), "图片详细描述") //image为数组 { Text = "这是新浪分享的内容" }; /* if (SharePlatform == SharePlatform.Wechat) picture.Title = "图片分享"; */ return picture; }private static BitmapSource ShotScreen() //截屏{ PhoneApplicationFrame frame = System.Windows.Application.Current.RootVisual as PhoneApplicationFrame; PhoneApplicationPage page = frame.Content as PhoneApplicationPage; WriteableBitmap wBitmap = new WriteableBitmap((int)page.ActualWidth, (int)page.ActualHeight); return wBitmap; }
private async void btnLogOut_Click(object sender, RoutedEventArgs e) //登出
{
await Sina.LogoutAsync(); //貌似老版本没有登出的方法
}
PS: 我在退出后重进程序分享失败(已经是授权的情况下,分享报错OAuthExpired)
但是问了其他人,说是没问题的。我就不懂了。。
Windows Phone 8下 友盟社会化组件SDK2.0的使用。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。