Windows Phone 8下 友盟社会化组件SDK的使用。
由于项目的需要,要将友盟的社会化组件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, , );
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)(已解决,方案如下)
但是问了其他人,说是没问题的。我就不懂了。。
补充:但是呢,测试了官方给的Demo,也是一样的问题呀。。正在联系官方人员解决。希望有结果。
有结果了: 联系了友盟,经过三天时间,对方修复了bug。太开心了。貌似官方还没有更新。
现在上传上来: http://t.cn/RzWdI4w
引用-管理NuGet程序包-设置。
添加一个程序包源,更改源路径后保存。
在联机中选择“友盟社会化组件”安装
如果不需要支持全部平台,可依照下表删除对应引用。
Facebook: Facebook
微信:Google.ProtocolBuffersLite + MicroMsgSDK
Twitter : Hammock.WindowsPhone + ICSharpCode.SharpZipLib.WindowsPhone
PS:如果原来引用过旧版本,要先删除工程目录下的package文件,不然使用的还是以前的Dll
Windows Phone 8下 友盟社会化组件SDK的使用。的更多相关文章
- android第三方分享之友盟社会化组件
前言 现在几乎所有的app都带有分享功能,第一为了更好地推广自己的产品,第二作为使用者也能及时的把自己觉得好的文章,话题,app分享到社交平台供大家一起学习和使用.开发中虽然android系统自带分享 ...
- Android Cocos2d-x游戏集成友盟社会化组件分享功能
最近在帮助开发者集成友盟社会化组件的过程中,发现游戏的集成过程遇到一些困难,而Cocos2d-x具有较好的代表性,因此整理了一篇关于Android Cocos2d-x游戏集成友盟社会化组件指南,由于本 ...
- Android 友盟社会化组件-分享实现
本文章链接地址:http://dev.umeng.com/social/android/share/quick-integration 分享快速集成 1 产品概述 友盟社会化组件,可以让移动应用快速具 ...
- Android集成友盟社会化分享功能
1. 产品概述 友盟社会化组件,可以让移动应用快速具备社会化分享.登录.评论.喜欢等功能,并提供实时.全面的社会化数据统计分析服务. 指南将会手把手教你使用社会化组件SDK,用5分钟为APP增加新浪 ...
- Xamarin.Android 绑定友盟社会化分享组件
Xamarin.Android 绑定友盟社会化分享组件 最近在开发博客园Android App的时候需要用到友盟社会化分享组件,在github上搜了一下都没有找到最新版本绑定好的项目,就自己动手来绑定 ...
- 友盟推送SDK集成测试、常见问题以及注意事项总结
最近为了解决公司APP在一些手机出现的推送问题重新集成了最新版的友盟推送SDK,花费了几天时间终于把集成和测试工作完成,最终在华为,Nexus,三星,小米,HTC,魅族等10多部手机上测试并达到了预想 ...
- iOS快速集成友盟社会化分享功能(v6.1.1)
1. U-Share SDK集成 1.1 下载U-Share SDK 通过iOS社会化组件选择所需的社交平台后进行下载,下载链接http://dev.umeng.com/social/ios/sdk ...
- React Native中集成友盟社会化分享-----童叟无欺
1.下载所需的jar,下载地址https://developer.umeng.com/sdk/reactnative?spm=a211g2.211692.0.0.28967d238GW6mC 2.将以 ...
- IOS开发之——友盟社会化分享UMSocial_SDK的使用
友盟第三方官方网址:http://dev.umeng.com/social/ios/quick-integration
随机推荐
- bzoj2819 Nim
题意:给定一棵带点权的树,每次询问用一条路径上的点玩Nim游戏先手是否必胜,支持单点修改. Nim游戏:所有堆的数目异或起来不为0时先手必胜,否则必败. 所以就是单点修改+路径异或和查询. 树剖一发, ...
- Objective-C 再谈OC指针,对比C++/Java/Swift
1.Objective-C的指针 OC一直是人感觉比较变态的一门语言,为什么呢?因为它的每个变量都是指针型,多的都几乎让人忘了那个*的存在了. 比如我定义了一个Student的Class,new了st ...
- 加州大学伯克利分校Stat2.2x Probability 概率初步学习笔记: Midterm
Stat2.2x Probability(概率)课程由加州大学伯克利分校(University of California, Berkeley)于2014年在edX平台讲授. PDF笔记下载(Acad ...
- wireshark过滤语法总结-重点偏移过滤
http://chenjiji.com/post/3371.html 作者: CHAN | 发布: 2013 年 10 月 24 日 做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wi ...
- 【突发问题】昨天更新了OS X EI Capitan 出现了Cocoapods的 pod :command not found
然后我百度:http://www.jianshu.com/p/6ff1903c3f11 果真,我想想然后执行了作者说的第一步,删除本地Cocoapods文件,然后发现我执行不了接下来的几个步骤了.所以 ...
- python运维开发之路02
年底事多,在公司忙成狗,难得把博客更新了下 本章主要内容是collections模块的介绍(队列,计数器,默认字典,有序字典,可命名元组,以及简单介绍深浅拷贝!) collections模块 coll ...
- HD2767Proving Equivalences(有向图强连通分量+缩点)
题目链接 题意:有n个节点的图,现在给出了m个边,问最小加多少边是的图是强连通的 分析:首先找到强连通分量,然后把每一个强连通分量缩成一个点,然后就得到了一个DAG.接下来,设有a个节点(每个节点对应 ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- 匿名函数:Lambda表达式和匿名方法
匿名函数一个"内联"语句或表达式,可在需要委托类型的任何地方使用.可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数. 共有两种匿名函数: Lamb ...
- css3实现小黄人
效果就像这样: 不废话,直接上代码! hrml代码: <!DOCTYPE html> <html> <head lang="zh"> <m ...