如何开发一个qq空间应用开发?

浅谈开放式空间数据库访问接口的开发及应用
> 浅谈开放式空间数据库访问接口的开发及应用
浅谈开放式空间数据库访问接口的开发及应用
来源:毕业论文网
  摘要:进入新时期以来,市场经济制度的逐渐完善,促进了经济平稳健康发展,人们的生活水平也获得了较快的提升。与此同时,高新技术的发展也给人们的生活带来了诸多的便利,而开放式空间数据库访问接口是其中一种。本文以此为切入点分析了开放式空间数据库访问接口的开发以及应用概况。
  关键词:开放式空间 接口 开发 利用 数据库
  随着信息技术的发展,GIS技术也获得了较大的进步。在使用GIS对空间数据采集以及应用中,简单的管理系统完全不能满足其要求。因此在应用GIS的过程之中,要对使用GB甚至是TB的存储空间进行存储,所以在应用GIS的过程之中要求GIS具有较强的功能系统。然而因为空间数据具有一定的异构性,因此对GIS的应用上带来一定的局限性。与此同时,GIS在我国有着十分广泛的应用,然而每一个部门以及行业因为其工作性质的不同对GIS软件的需求也会有所不同。此外,为了可以有比较好的保密功能,每一个行业以及部门对其进行了一定的开发,促进GIS独立性的提高。但是也带了很大的问题,比如说导致行业以及部门在使用GIS之时缺少统一规范,资源共享上存在一定的问题,甚至出现资源的累赘以及重复问题的出现,进而造成资源的浪费。因此,当前我国技术人员需要做的是促使GIS应用服务可以在空间数据之中较好的进行异构、多源以及分布式数据的无缝集成以及分享。
  一、空间数据共享以及开放空间数据存取接口
  1.1 关系数据库的标准访问接口
  在数据库领域之中,绝大部分数据库厂商提供具有ODBC标准接口以及专有数据访问接口。并且绝大多数DBMS都会提供ADO接口,而一部分厂商则提供的是ADO.NET接口。ODBC则可以实现对多种关系数据库进行访问以及互动操作,那么单一的客户端可以在一定程度上访问多种数据库,实现数据库应用的崭新局面。在当前情况之下,受多种因素影响,数据库应用软件取得较快发展,在空间数据库的领域中,随着关系数据库技术的进步而获得突破。绝大多数空间数据库技术在开发之时都使用的而是DBMS厂商提供的基础接口。因为地理空间数据有着访问比较频繁、数据量比较大,所以,传统的数据关系库服务系统比较难满足其需求,因此会使用一些较为特殊的技术,比如说缓存以及空间检索等等来补充使用。因此,也就发展起来了3种主要的空间数据库技术。
  客户端模式,这种模式具有较好的效率以及兼容性,但是需要开发的工作量较大,对于开发者带来诸多挑战。服务器模式,这种模式是通过修改以及扩充个服务器方支持库来实现的,优势在于结构性比较好,但是其开发难度较大、兼容性比较低。中间件模式,主要是通过外挂桥接服务器实现,但是配置管理难度大,访问效率比较低。这三种不同的空间数据库技术,各有其优劣。其在架构模式、数据功能以及格式上存在较大的差异,导致其支持的数据类型以及能力程度也各有偏向。因此,为了有效解决该问题,在工作之中使用的是统一接口的空间数据存取接口。
  1.2 空间数据库的接口标准规范
  数据查询语言通过拓展结构化数据访问,可实现空间数据的操作,但是缺少同ODBC类似的空间数据访问接口规范。为了促进空间信息的共享访问以及统一管理。图形软件厂商以及GIS制定了与之相应的规范化接口[2]。当前应用比较普遍的是FDO以及OGDC。FDO访问的接口是AutoDesk,为了促进CAD软件之中集成地理空间数据开发的接口,在早期也进行了开发工作。与此同时ESRI也对外发布了其外挂式空间数据服务器系统SDE的API接口。
  二、OGDC的技术基本概述以及设计要求
  2.1 OGDC的技术概述
  作为OGDC的基础技术的C++,其应用的特点是给当前开放式空间数据库访问带来了无限可能。其可以在多种不同的平台上编译,并且联合JavaEE以及.Net平台,如此就形成了一个免费并且开放的空间数据库,为当前用户的使用带来诸多便利。最新开发的空间数据库驱动器,可以有效避免传统格式升级之后重新开发等等问题,消费者可以获得高效、快速的数据库之间的数据交换以及共享。
  2.2 OGDC设计方法
  为了科学有效的解决数据库之中互联互访问题,因此设计出开放式关系数据库标准访问接口规范。OGDC作为ODBC的升级版,可有效的解决数据库访问量大以及频繁等等问题。实现了空间数据库资源的无缝集成以及资源共享。与此同时,将OGDCSDK互联互访通道统一,可给多源异构分布式空间数据访问建立标准化的空间数据库访问形式。
  三、OGDC的技术框架以及实现
  3.1 OGDC的基本框架
  OGDC的基本技术框架主要包括有数据库提供者、数据库层以及OGDC接口层以及应用程序层。在整个系统之中这四个层次各自具有独特的作用,缺失了任何一个环节,都会影响到有效运行。
  3.2 OGDC的具体实现过程
  OGDC系统具有较为广阔的应用范围,不仅仅在当前GIS平台、服务器以及桌面之中可以使用,同时也可以将数据库直接打开,实现对数据的查询、编辑以及浏览。应用GIS可以实现对不同数据库的访问,并且将存储结构的差异及时屏蔽,实现OGDC的运行。
  四、结语
  从前文的论述之中可以看出,在空间数据库的发展过程之中OGDC发挥了十分重要的作用。其作为我国当前最为有效实现异构、多源以及分布式空间数据库的手段,规范标准也获得了大部分厂商的支持,也对OGDC的大范围的推广起了不可忽视的作用。
  [1]仇伟明.基于VisualBasic环境下数据库访问技术的研究[J].长春工业大学学报(自然科学版),2014(05).
  [2]吴蜜.嵌入式GIS的终端软件设计分析[J].计算机光盘软件与应用,2014(22).
  [3]范辉辉.数字汕头地理空间框架建设与应用研究[D].江西理工大学,2014.
下页更精彩:1
浅谈开放式空间数据库访问接口的开发及应用相关推荐qq空间怎么隐藏应用动态_百度知道
qq空间怎么隐藏应用动态
进入应用后 在右边一列 也就是某某在玩xx上方 有个隐私设置 点一下 设置为不可见就行了。投票只能删除 就算隐藏了 只能在自己空间看不见 好友还是能看见 在主页那一排 有一个更多 点一下 最后一个是投票 点一下 就会出现好友投票再点我的投票 就能删了.隐藏操作:进入QQ空间点击“应用”,在应用列表上会出现您所有的 “应用”然后把鼠标放在需要隐藏的应用上面会出现一个叉“X”的按钮,点击该按钮即可隐藏。隐藏只是隐藏此应用在应用列表的接口,对其他数据不影响。QQ空间(Qzone)是腾讯公司于2005年开发出来的一个具有个性空间,具有博客(blog)的功能,自问世以来受到众多人的喜爱。在QQ空间上可以书写日志、写说说,上传用户个人的图片,听音乐,写心情,.通过多种方式展现自己。除此之外,用户还可以根据个人的喜爱设定空间的背景、小挂件等,从而使每个空间都有自己的特色。当然,QQ空间还为精通网页的用户还提供了高级的功能:可以通过编写各种各样的代码来打造个人主页。QQ空间分为主页、说说、日志、音乐盒、相册、个人档案、个人中心、分享、好友秀、好友来访、投票、城市达人、秀世界、视频、游戏等。根据腾讯2013年第三季度财报,QQ空间活跃账户数达到6.233亿.,这个数字遥遥领先于中国绝大多数社交网站。百度网页搜索2013年度“十大热搜词”,QQ空间等8个互联网词进入网页搜索“十大热搜词”。QQ空间是由腾讯公司(Tencent)出品,腾讯公司成立于1998年11月,是目前中国最大的互联网综合服务提供商之一,也是中国服务用户最多的互联网企业之一。成立十年多以来,腾讯一直秉承一切以用户价值为依归的经营理念,始终处于稳健、高速发展的状态。公司主要产品有IM软件、网络游戏、门户网站以及相关增值产品。深圳市腾讯计算机有限公司(腾讯)旗下软件:腾讯QQ、QQ管家等。QQ空间是全国最大的互动网站。2013年12月QQ空间手机客户端安卓版4.2正式上线,iOS版本在也同时上架。4.2版本主要围绕移动场景下的优势以及用户对照片和视频等需求开发新的功能,对于水印相机、视频说说、滤镜功能成为这个版本的重要特点。主要更新有以下特点:全新卡片化视觉设计,更加便捷高效的浏览与互动新增短视频录制和水印功能,让你轻松成为生活的导演新增主题设置,为你的空间打造个性化装扮照片事件化分组,选图操作更快捷说说可设置指定时间发布,帮你写下每一个重要时刻评论允许插入图片,让你跟好友的互动充满乐趣新增”玩吧”游戏平台,提供花藤、农场、牧场等休闲游戏新增自定义手机标识,创造只属于你自己的标识。1.写自己喜欢的事情,开心的或者不开心的。2.在好友的空间里留言,不管对方在还是不在,很方便的,对方也不会看不到,只要上线了就一定会看到。3.可以上传很多自己喜欢的QQ个性表情,签名等等。4.和更多的好友进行情感交流,便于朋友间相互联系。5.通过对QQ空间设计充分展现自己艺术才能。6.还可以存放照片、音乐、Flash等,或者分享自己的心情,让更多的人来欣赏,同时也给个人提供了一个推销自己的平台。
其他类似问题
76人觉得有用
为您推荐:
提问者采纳
进入应用后 在右边一列 也就是某某在玩xx上方 有个隐私设置 点一下 设置为不可见就行了。投票只能删除 就算隐藏了 只能在自己空间看不见 好友还是能看见 在主页那一排 有一个更多 点一下 最后一个是投票 点一下 就会出现好友投票再点我的投票 就能删了
您可能关注的推广
qq空间的相关知识
其他1条回答
在应用管理中见就可以了
或者开黄钻呗
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁> 社会化分享 > 社会化Cocos2d-x 组件 > 集成文档
友盟社会化组件,可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。
本指南将会手把手教你使用友盟社会化组件Cocos2d-x SDK,用5分钟为APP增加新浪微博、微信、QQ空间等国内外十几个主流平台的分享功能。
该Cocos2d-x SDK目前支持iOS和Android平台。
该Cocos2d-x分享组件需要依赖友盟社会化组件sdk,因此在您集成时必须将iOS或者Android平台的SDK集成到您的工程中,即压缩包中的Platforms目录下的Android和iOS两个文件夹。
如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它。如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击**添加新应用**,填写完应用基本信息后,将进入"下载SDK并添加代码"页面,此页面即可得到Umeng Appkey。进入到"组件"一栏,选择左边的“社会化分享”,然后选择“设置”--“自定义设置”, 然后将你在各个平台获取到的app id和app secret填写到其中,并且保存。
下载和拷贝Cocos2d-x所需文件
首先您需要下载友盟社会化组件 Cocos2d-x SDK (),然后将该sdk压缩包解压。
压缩包目录说明:
1. Cocos2dx
实现cocos2d-x中跨平台分享功能,需拷贝到您项目的Classes文件夹中;
2. Platforms
原生的Android和iOS社会化组件SDK,需要您将库和资源拷贝到对应平台的项目中;
Cocos2d-x SDK集成文档。
SDK中默认的添加的平台为新浪微博、腾讯微博、人人网、豆瓣这四个平台,其他的平台需要按提供的方式手动添加。
Cocos2d-x集成友盟分享组件
Android平台集成
拷贝所需的jar包和资源文件
解压Cocos2d-x SDK压缩包,进入到Platforms/Android/core文件夹下,将'libs'文件夹中的所有jar文件拷贝到工程中的libs目录中,并且将所有jar文件添加到编译路径(build path)中;
将Platforms/Android/core/res目录下的所有文件夹拷贝到你的项目工程res目录下对应的文件夹中, 如图所示 :
如果您还需要其他的社交平台,您需要按照这个章节的步骤来进行手动添加。
拷贝类文件
将Platforms/Android/controller目录下的com文件夹拷贝到您的Cocos2d-x项目Android平台的src目录下(所有文件的编码为utf-8,如有乱码,请开发者自行进行转码。), 如图所示 :
在jni/Android.mk中的LOCAL_SRC_FILES下添加如下配置 (注意格式,否则会编译出错) :
../../Classes/Cocos2dx/Android/CCUMSocialController.cpp
../../Classes/Cocos2dx/ShareButton/UMShareButton.cpp \
../../Classes/Cocos2dx/Common/CCUMSocialSDK.cpp
配置AndroidManifest.xml
&?xml version="1.0" encoding="utf-8"?&
&manifest xmlns:android="/apk/res/android"
package="com.umeng.example"
android:versionCode="1"
android:versionName="1.0" &
&application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="com.umeng.social.CCApp"&
android:name="com.umeng.soexample.UmengGame"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:label="@string/app_name" &
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
android:name=".WBShareActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait" &
&intent-filter&
&action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /&
&category android:name="android.intent.category.DEFAULT" /&
&/intent-filter&
&/activity&
android:name="com.sina.ponent.WeiboSdkBrowser"
android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="adjustResize"
android:exported="false" &
&/activity&
&service android:name="com.sina.weibo.sdk.net.DownloadService"
android:exported="false"&&/service&
&!-- 腾讯SSO授权的Activity注册 --&
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" &
&intent-filter&
&action android:name="android.intent.action.VIEW" /&
&category android:name="android.intent.category.DEFAULT" /&
&category android:name="android.intent.category.BROWSABLE" /&
&data android:scheme="tencent" /& &!--
&/intent-filter&
&/activity&
&activity android:name="com.tencent.plus.ImageActivity" /&
android:name="com.mon.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /&
android:name="com.umeng.socialize.editorpage.ShareActivity"
android:theme="@style/Theme.UMDefault"
android:excludeFromRecents="true"
&!-- twitter --&
android:name="com.umeng.socialize.handler.TwitterWebActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" /&
&meta-data
android:name="UMENG_APPKEY"
android:value="4eaee02c0003" &
&/meta-data&
&!-- facebook相关 --&
&!-- facebook --&
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /&
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider0662"
android:exported="true" /&
&meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" /&
android:name="com.facebook.LoginActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /&
&!-- renren need --&
android:name="com.renn.rennsdk.oauth.OAuthActivity"
android:configChanges="orientation|navigation|keyboardHidden" /&
android:name="com.sina.ponent.WeiboSdkBrowser"
android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="adjustResize"
android:exported="false" &
&/activity&
&service android:name="com.sina.weibo.sdk.net.DownloadService"
android:exported="false"&&/service&
android:name=".yxapi.YXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /&
&/application&
&uses-sdk android:minSdkVersion="8" /&
&!-- ###################声明SDK使用的相关权限###################### --&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&
&!-- 检测网络状态 --&
&uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&
&!-- 获取mac地址作为用户的备用唯一标识 --&
&uses-permission android:name="android.permission.READ_PHONE_STATE" /&
&!-- 获取用户手机的IMEI,用来唯一的标识用户。 --&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&&!-- 缓存资源优先存入SDcard --&
&uses-permission android:name="android.permission.INTERNET" /&
&!-- 允许应用程序联网,以便向我们的服务器端发送数据。 --&
&uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&
&!-- 用于评论模块分享位置信息 --&
&uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&&!-- 用于评论模块分享位置信息 --&
&/manifest&
添加Android平台的初始化代码
在您的Cocos2dxActivity子类的onCreate方法下添加如下代码:
// this为Cocos2dxActivity类型, 参数2为描述符,可随意修改.
CCUMSocialController.initSocialSDK(this, "com.umeng.social.share");
覆写Cocos2dxActivity子类的onActivityResult方法
在onActivityResult添加如下代码 :
// 授权回调
CCUMSocialController.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
完成以上步骤以后,并且您不需要集成分享到ios平台,您就可以到章节添加分享代码到cocos2d-x游戏中。
该类继承自Application,在该类中设置各个平台的appkey和appid
加入新浪微博的so文件
在jni中建立prebuild文件夹,放入对应的so文件,在Android.mk中写入这些文件的引用:
`include $(CLEAR_VARS)
LOCAL_MODULE := libweibosdkcore
LOCAL_SRC_FILES := prebuild/armeabi/libweibosdkcore.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libweibosdkcorev8
LOCAL_SRC_FILES := prebuild/arm64-v8a/libweibosdkcore.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libweibosdkcorev7
LOCAL_SRC_FILES := prebuild/armeabi-v7a/libweibosdkcore.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libweibosdkcoremips
LOCAL_SRC_FILES := prebuild/mips/libweibosdkcore.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libweibosdkcoremips64
LOCAL_SRC_FILES := prebuild/mips64/libweibosdkcore.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libweibosdkcorex86
LOCAL_SRC_FILES := prebuild/x86/libweibosdkcore.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libweibosdkcorex64
LOCAL_SRC_FILES := prebuild/x86_64/libweibosdkcore.so
include $(PREBUILT_SHARED_LIBRARY)`
iOS平台集成
加入iOS SDK
解压SDK压缩包,将Platforms/iOS文件夹和Cocos2dx文件夹拖入工程目录,并删除Cocos2dx/Android文件夹.
确认勾选了“Copy items to destination's group folder”选项,并选择你要添加到的Target:
现在应该是这样的效果:
UMSocial_Sdk_x.x.x 文件夹的目录结构
文件或文件夹
libUMSocial_Sdk_x.x.a, libUMSocial_Sdk_Comment_x.x.a
SocialSDKXib
en.lproj,zh-Hans.lproj
英文和中文语言文件
UMSocial_Sdk_Extra_Frameworks 文件夹的目录结构
文件或文件夹
TencentOpenAPI
Facebook SDK
Twitter SDK
添加下面的系统framework
Security.framework,libiconv.dylib,SystemConfiguration.framework,CoreGraphics.framework,libsqlite3.dylib,CoreTelephony.framework,libstdc++.dylib,libz.dylib,Social.framework,Accounts.framework。
按需设置各个平台的URL Scheme
url scheme设置格式
微信应用appId,例如“wxd9a39c”,微信详细集成步骤参考
在工程设置项,targets 一栏下,选中自己的 target,在 Info-&URL Types 中添加 URL Schemes,格式为“wb”+新浪appkey,例如“wb”
分享到手机QQ、QQ空间
“QQ”+腾讯QQ互联应用appId转换成十六进制(不足8位前面补0),例如“QQ05FA957C”。生成十六进制方法:在命令行输入echo 'ibase=10;obase=16;您的腾讯QQ互联应用Id'|bc,并在QQ互联后台的URL schema中填入此字符串保持一致,手机QQ详细集成步骤参考
单独登录到QQ、QQ空间(不分享)
“tencent“+腾讯QQ互联应用Id,例如“tencent”
Identifier填“Laiwang”,URL Schemes填来往AppId.注意使用来往SDK后,Xcode工程other linker flags需要添加-ObjC参数
易信Appkey,例如“yx35664bdff4db42c2b7be1e”
默认使用iOS自带的Facebook分享framework,在iOS 6以上有效,若要使用我们提供的facebook分享需要设置“fb”+facebook AppID,例如“fb9601”,详细集成方法见[集成facebook](#social_facebook)
在AppDelegate实现系统回调方法
在Xcode工程中的ios文件夹下的AppController.mm文件,实现下面的系统回调
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
return [UMSocialSnsService handleOpenURL:url];
然后您就可以到章节添加分享代码到cocos2d-x游戏中。
在Cocos2d-x游戏中添加分享功能
将所需的资源添加到对应的工程以后, 您就可以在cocos2d-x中使用该友盟社会化组件的分享、登录功能了。
首先将sdk压缩包下的根目录下的Cocos2dx文件夹拷贝到您的工程的Classes目录下,Cocos2dx包括:
Android文件夹,Android平台的调用实现;
iOS文件夹,iOS平台的调用实现;
Common文件夹,针对Cocos2d-x的统一接口和类型定义 ;
ShareButton文件夹,针对Cocos2d-x封装的分享按钮,点击按钮即可打开分享面板;
针对Android平台, 如果开发者需要使用facebook、易信、易信朋友圈、来往、来往动态、twitter、instagram平台则需要到章节添加相应的平台。
友盟提供了三种方式来方便开发者使用分享功能,示例如下 :
开发者可以通过UMShareButton类来快速的实现分享功能,UMShareButton是CCMenuItemImage的子类,当用户点击该按钮时将会打开友盟的分享面板。
集成代码如下 :
// 引入相关的头文件
#include "Cocos2dx/Common/CCUMSocialSDK.h"
#include "Cocos2dx/ShareButton/UMShareButton.h"
// 使用友盟命令空间
USING_NS_UM_SOCIAL;
// ...... 代码省略
// HelloWorld为cocos2d::CCLayer的子类
bool HelloWorld::init()
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
// 创建分享按钮, 参数1为按钮正常情况下的图片, 参数2为按钮选中时的图片,参数3为友盟appkey, 参数4为分享回调
UMShareButton *shareButton = UMShareButton::create("shareNormal.png","shareSelected.png", "你的友盟appkey", share_selector(shareCallback)) ;
// 显示在友盟分享面板上的平台
vector&int&* platforms = new vector&int&();
platforms-&push_back(SINA);
platforms-&push_back(RENREN) ;
platforms-&push_back(DOUBAN) ;
platforms-&push_back(QZONE) ;
platforms-&push_back(QQ) ;
// 设置友盟分享面板上显示的平台
shareButton-&setPlatforms(platforms);
// 设置文本分享内容
shareButton-&setShareContent("umeng social cocos2d-x sdk.") ;
// 设置要分享的图片, 图片支持本地图片和url图片, 但是url图片必须以http://或者https://开头
shareButton-&setShareImage("/sdcard/header.jpeg") ;
// 设置按钮的位置
shareButton-&setPosition(ccp(150, 180));
// 然后开发者需要将该按钮添加到游戏场景中
CCMenu* pMenu = CCMenu::create(shareButton, NULL);
pMenu-&setPosition(CCPointZero);
this-&addChild(pMenu, 1);
// ********************** 设置平台信息 ***************************
// CCUMSocialSDK *sdk = shareButton-&getSocialSDK();
// sdk-&setQQAppIdAndAppKey("设置QQ的app id", "appkey");
// sdk-&setWeiXinAppInfo("设置微信和朋友圈的app id","app key");
// sdk-&setYiXinAppKey("设置易信和易信朋友圈的app id");
// sdk-&setLaiwangAppInfo("设置来往和来往动态的app id",
"设置来往和来往动态的app key", "我的应用名");
// sdk-&setFacebookAppId("你的facebook appid");
// 设置用户点击一条图文分享时用户跳转到的目标页面, 一般为app主页或者下载页面
// sdk-&setTargetUrl("/social");
// 打开或者关闭log
// sdk-&setLogEnable(true) ;
// **********************
END ***************************
开发者可以使用CCUMSocialSDK类来完成分享、授权、删除授权等操作, 实际上UMShareButton就是包装了CCUMSocialSDK以实现相关的功能。具体功能请参考CCUMSocialSDK中的注释。
开发者可以自行定义某个按钮,然后在该按钮的点击事件中通过CCUMSocialSDK来进行相应的操作,示例代码如下 :
// 引入相关的头文件
#include "Cocos2dx/Common/CCUMSocialSDK.h"
// 使用友盟命令空间
USING_NS_UM_SOCIAL;
// ...... 代码省略
// HelloWorld为cocos2d::CCLayer的子类, shareButtonClick为某个按钮点击事件的处理函数
void HelloWorld::shareButtonClick()
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 设置友盟appkey,如果create中设置了不用调用该函数
// sdk-&setAppKey("4eaee02c0003");
// **********************
设置平台信息
***************************
// sdk-&setQQAppIdAndAppKey("设置QQ的app id", "appkey");
// sdk-&setWeiXinAppInfo("设置微信和朋友圈的app id","app key");
// sdk-&setYiXinAppKey("设置易信和易信朋友圈的app id");
// sdk-&setLaiwangAppInfo("设置来往和来往动态的app id",
"设置来往和来往动态的app key", "我的应用名");
// sdk-&setFacebookAppId("你的facebook appid");
// 打开或者关闭log
// sdk-&setLogEnable(true) ;
// **********************
END ***************************
// 设置用户点击一条图文分享时用户跳转到的目标页面, 一般为app主页或者下载页面
sdk-&setTargetUrl("/social");
// 设置友盟分享面板上显示的平台
vector&int&* platforms = new vector&int&();
platforms-&push_back(SINA);
platforms-&push_back(RENREN) ;
platforms-&push_back(DOUBAN) ;
platforms-&push_back(QZONE) ;
platforms-&push_back(QQ) ;
// 设置平台, 在调用分享、授权相关的函数前必须设置SDK支持的平台
sdk-&setPlatforms(platforms) ;
// 打开分享面板, 注册分享回调, 参数1为分享面板上的平台, 参数2为要分享的文字内容,
// 参数3为要分享的图片路径(android和IOS的图片地址格式不一致,因此分平台设置), 参数4为分享回调.
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
sdk-&openShare("要分享的文字内容", "/sdcard/image.png", share_selector(shareCallback));
#elif (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
sdk-&openShare("要分享的文字内容","share.png", share_selector(shareCallback));
开发者也可以自行定义某个按钮,然后在该按钮的点击事件中通过CCUMSocialSDK的directShare函数来进行直接分享到某个平台的操作,该接口为api分享接口,不会弹出分享面板和内容编辑界面,用户授权之后直接分享。示例代码如下 :
// 引入相关的头文件
#include "Cocos2dx/Common/CCUMSocialSDK.h"
// 使用友盟命令空间
USING_NS_UM_SOCIAL;
// ...... 代码省略
// HelloWorld为cocos2d::CCLayer的子类, shareButtonClick为某个按钮点击事件的处理函数
void HelloWorld::shareButtonClick()
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 设置用户点击一条图文分享时用户跳转到的目标页面, 一般为app主页或者下载页面
sdk-&setTargetUrl("/social");
// **********************
设置平台信息
***************************
// sdk-&setQQAppIdAndAppKey("设置QQ的app id", "appkey");
// sdk-&setSinaAppKey("设置新浪appkey", "设置新浪appSecret", "设置新浪redirectURL");
// sdk-&setWeiXinAppInfo("设置微信和朋友圈的app id","app key");
// sdk-&setYiXinAppKey("设置易信和易信朋友圈的app id");
// sdk-&setLaiwangAppInfo("设置来往和来往动态的app id",
"设置来往和来往动态的app key", "我的应用名");
// sdk-&setFacebookAppId("你的facebook appid");
// 打开或者关闭log
// sdk-&setLogEnable(true) ;
// **********************
END ***************************
// 直接分享,参数1为要分享到的目标平台, 参数2为要分享的文字内容,
// 参数3为要分享的图片路径(android和IOS的图片地址格式不一致,因此分平台设置), 参数4为分享回调.
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
sdk-&directShare(SINA, "要分享的文字内容","/sdcard/image.png", share_selector(shareCallback));
#elif (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
sdk-&directShare(SINA, "要分享的文字内容","image.png", share_selector(shareCallback));
特别说明 :
使用CCUMSocialSDK对象设置各个平台的app id或者app key.CCUMSocialSDK对象可以通过CCUMSocialSDK::create("umeng appkey")函数获取,如果使用UMShareButton可以通过getSocialSDK()函数获取.
1.如果集成了QQ或者QQ空间平台,则必须通过CCUMSocialSDK类的setQQAppIdAndAppKey("appid","appkey")函数来设置QQ或者QQ空间的AppId、AppK
2.如果集成了微信或者微信朋友圈平台,则必须通过CCUMSocialSDK类的setWeiXinAppInfo("","")函数来设置微信或者朋友圈的App id和
3.iOS:如果集成了新浪微博平台,则必须通过CCUMSocialSDK类的setSinaAppKey("","","")函数来设置微博的appkey和appS
4.如果集成了易信或者易信朋友圈平台,则必须通过CCUMSocialSDK类的setYiXinAppKey("")函数来设置微信的A
5.如果集成了来往或者来往动态平台,则必须通过CCUMSocialSDK类的setLaiwangAppInfo("app id ", "app key", "app Name")来设置来往和来往动态的App id、App key、App Name(应用名).
6.iOS:如果集成了Facebook平台,则必须通过CCUMSocialSDK类的setFacebookAppId("")函数来设置Facebook的
7.iOS:如果集成了Twitter平台,则必须通过CCUMSocialSDK类的openTwitterForiOS("","")函数来设置Twitter的appKey和appS
在设置完平台的app id或者app key之后,需要调用CCUMSocialSDK对象的setPlatforms函数将所需的平台添加到sdk中,这样该平台才会在sdk得到支持。
最后,点击对应的按钮则会弹出如下界面 :
分享回调的为如下形式 :
请不要在该回调中更新UI,友盟社会化组件Cocos2d-x SDK不保证在分享回调中更新UI一定会被顺利执行。
* 分享回调, 该回调不是某个类的成员函数, 而是一个普通的函数, 具体使用参考HelloWorldScene的例子
* @param platform 要分享到的目标平台
* @param stCode 返回码, 200代表分享成功, 100代表开始分享
* @param errorMsg 分享失败时的错误信息,android平台没有错误信息
void shareCallback(int platform, int stCode, string& errorMsg)
if ( stCode == 100 )
CCLog("#### HelloWorld 开始分享");
else if ( stCode == 200 )
CCLog("#### HelloWorld 分享成功");
CCLog("#### HelloWorld 分享出错");
CCLog("platform num is : %d.", platform);
授权接口使用说明
授权接口说明
CCUMSocialSDK类中还提供了授权相关的接口,支持授权的平台有新浪微博、QQ空间、QQ、人人网、豆瓣、腾讯微博、facebook。授权接口使用说明如下 :
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 对某个平台授权, 参数二为授权回调
sdk-&authorize(RENREN, auth_selector(authCallback));
// 判断某个平台是否授权
sdk-&isAuthorized(RENREN);
// 删除某个平台的授权
sdk-&deleteAuthorization(RENREN, auth_selector(authCallback));
授权回调说明
授权回调类型定义在CCUMTypeDef.h中,当授权成功时, 会将授权信息返回给开发者, 开发者可以通过遍历map来获取数据;
当授权失败, 会返回一个字段的数据, key为"msg", 值为错误的信息。如果是删除授权, 也是返回一个字段的数据, key为"msg", 值为"deleteOauth"。开发者可以通过判断返回码和map中的数据来进行相应的处理。
请不要在该回调中更新UI,友盟社会化组件Cocos2d-x SDK不保证在分享回调中更新UI一定会被顺利执行。
授权回调函数示例如下 :
* @param platform 要授权的平台
* @param stCode 返回码, 200代表授权成功, 100代表开始授权, 0代表授权出错, -1代表取消授权
* @param data 授权时返回的数据
void authCallback(int platform, int stCode, map&string, string&& data)
if ( stCode == 100 )
CCLog("#### 授权开始");
else if ( stCode == 200 )
CCLog("#### 授权完成");
} else if ( stCode == 0 )
CCLog("#### 授权出错");
} else if ( stCode == -1 )
CCLog("#### 取消授权");
// 输入授权数据, 如果授权失败,则会输出错误信息
map&string,string&::iterator it = data.begin();
for (; it != data.end(); ++it) {
CCLog("#### data
%s -& %s." , it-&first.c_str(), it-&second.c_str());
添加更多平台 ( 按需集成 )
为了减小集成友盟社会化组件SDK占用的内存空间,Android SDK中默认只添加了新浪微博、腾讯微博、人人网、豆瓣这几个平台。其他的平台则需要您手动添加到SDK中。
与Android不用的是,iOS SDK中默认链接了各个平台所需的framework,如果您不需要某个平台,可以将该平台移除。
集成微信和微信朋友圈
注意,集成微信或者微信朋友圈之前,您必须到中申请app id,app key,并且正确填写应用的信息,对于Android平台您必须确保包名和APP的签名是正确的,然后通过审核后即可分享成功,否则将无法跳转到微信或者微信朋友圈的分享界面。
要集成微信或者微信朋友圈,你需要在Cocos2d-x代码中添加如下代码 :
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 设置微信的app id和app key
sdk-&setWeiXinAppInfo("wx485ab7ca6a7e02d1",
"f9cad1d153aaab5fa63d59f");
// 设置友盟SDK支持的平台, 记得加上微信和微信朋友圈
vector&int&* platforms = new vector&int&();
platforms-&push_back(WEIXIN);
platforms-&push_back(WEIXIN_CIRCLE) ;
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
如果是在Android平台上添加微信或者微信朋友圈平台,需要将Platforms/Android/sns_platforms/weixin/libs目录下的文件拷贝到您工程中的libs目录中。还需要您到压缩包中的Platforms/Android/sns_platforms/weixin/目录下将wxapi目录拷贝到您的工程根包下面。
您的根包定义在AndroidManafest.xml的package属性中,例如我的package为com.umeng.game,那么wxapi就要放在com.umeng.game包下,因此其完整路径为com.umeng.game.wxapi.WXEntryActivity。此时,可能会在WXEntryActivity有错误,您重新import一下所需要的类即可。
需要设置Xcode的URL scheme,添加“URL Schemes”为微信appId,例如"wxd9a39c"
集成QQ和QQ空间
注意,集成QQ或者QQ空间之前,您必须到中申请app id,app key,并且正确填写应用的信息,审核通过后即可分享成功。然后将app id填写到AndroidManifext.xml对应的位置中。
在Cocos2d-x游戏中通过如下代码添加QQ空间或者QQ的支持:
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 设置QQ和QQ空间的app id和app key
sdk-&setQQAppIdAndAppKey("", "caab60104f0ba");
// 设置友盟SDK支持的平台, 记得加上QQ或者QQ空间
vector&int&* platforms = new vector&int&();
platforms-&push_back(QQ);
platforms-&push_back(QZONE) ;
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
针对Android平台,需要将Platforms/Android/sns_platforms/qq_qzone/libs目录下的文件拷贝到您工程中的libs目录中。这样,您就成功集成QQ或者QQ空间了。
需要设置Xcode的URL scheme,添加“URL Schemes”为“QQ”+腾讯QQ互联应用appId转换成十六进制(不足8位前面补0),例如“QQ05FA957C”。生成十六进制方法:在命令行输入
echo 'ibase=10;obase=16;您的腾讯QQ互联应用Id'|bc,并在QQ互联后台的URL schema中填入此字符串保持一致。
若你只使用授权到qq或者QQ空间,需要设置Xcode的URL scheme的“URL Schemes”为"tencent"+腾讯开放平台appId。
集成来往和来往动态
通过CCUMSocialSDK类的setLaiwangAppId("")和setLaiwangAppKey()函数来分别设置来往和来往动态的App id、app key,代码如下 :
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 设置来往或者来往动态的app id和app key
sdk-&setLaiwangAppInfo("设置来往和来往动态的app id", "设置来往和来往动态的app key", "我的应用名");
// 设置友盟SDK支持的平台, 记得加上来往或者来往动态
vector&int&* platforms = new vector&int&();
platforms-&push_back(LAIWANG);
platforms-&push_back(LAIWANG_CIRCLE) ;
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
添加所需jar和资源,将Platforms/Android/sns_platforms/laiwang文件夹下的libs、res目录下的文件拷贝到工程中对应的文件夹中。这样,您就成功集成来往或者来往动态了。
针对于iOS平台,集成来往平台需要将Xcode的other linker flag设置为-all_load 。
但是如果您不需要集成来往,可以在Xcode中把UMSocial_Sdk_Extra_Frameworks下把LaiWang文件夹删除。并把UmSocialControllerIOS.h 头文件中把宏CC_ShareToLaiWang设置为0。
需要设置Xcode的URL scheme,添加“URL Schemes”为来往AppId,“Identifier”为“Laiwang”
集成易信和易信朋友圈
首先到中获取app id, app key等信息。然后在Cocos2d-x代码中,通过CCUMSocialSDK类的setYiXinAppKey("")函数来设置微信的App key,
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 设置易信和易信朋友圈的app id和app key
sdk-&setYiXinAppKey("yx52dd5c14bbbf2dafcbcc68d");
// 设置友盟SDK支持的平台, 记得加上易信和易信朋友圈
vector&int&* platforms = new vector&int&();
platforms-&push_back(YIXIN);
platforms-&push_back(LYIXIN_CIRCLE) ;
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
添加所需jar和资源,将SDK压缩包中Platforms/Android/sns_platforms/yixin文件夹下的libs、res目录下的文件拷贝到工程中对应的文件夹中。
易信精确回调使用说明
如果在您的项目中集成了易信或者易信朋友圈,并且您需要准确的分享回调 (建议添加),则需要在AndroidManifest.xml中下注册下面的回调Activity。
android:name=".yxapi.YXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" /&
将SDK包中yixin目录下的yxapi文件夹拷贝到您的工程的包目录下,然后修改YXEntryActivity的完整路径即可。例如social_sdk_example的包名为com.umeng.soexample,
因此将yxapi文件夹拷贝到com.umeng.soexample下即可。最终YXEntryActivity的完整路径为com.umeng.soexample.yxapi.YXEntryActivity。
其中分享回调接口SnsPostListener中的onComplete方法的第二个参数代表分享的状态码,当值为200时表示分享成功;其余的值则为分享失败。
iOS平台集成易信不需要其他的设置。如果您不需要集成易信,可以在Xcode中把UMSocial_Sdk_Extra_Frameworks下把YiXin文件夹删除。并把UmSocialControllerIOS.h 头文件中把宏CC_ShareToYiXin设置为0。
需要设置Xcode的URL scheme,添加“URL Schemes”为易信AppId。
集成Facebook
首先到(需翻墙)上创建应用,然后填写应用签名、包名等信息,然后获取app id等信息,通过facebook审核以后即可进行分享。在Cocos2d-x代码中首先需要设置facebook的app id,并且将facebook添加到sdk中, 代码如下 :
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 设置facebook的app id
sdk-&setFacebookAppId("884");
// 设置友盟SDK支持的平台, 记得加上facebook
vector&int&* platforms = new vector&int&();
platforms-&push_back(FACEBOOK);
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
针对于Android平台, 您需要添加所需jar和资源,将SDK压缩包中Platforms/Android/sns_platforms/facebook文件夹下的libs、res目录下的文件拷贝到工程中对应的文件夹中。最后在AndroidManifest.xml中注册activity:
&!-- 如果使用,则必须添加以下activity和facebook_app_id (不使用facebook可以去掉) --&
android:name="com.facebook.LoginActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /&
这样就集成完成。
iOS平台集成facebook不再需要其他的设置。但是如果您不需要集成Facebook,可以在Xcode中把UMSocial_Sdk_Extra_Frameworks下把Facebook文件夹删除。并把UmSocialControllerIOS.h 头文件中把宏CC_ShareToFacebook设置为0。
集成Instagram
在Cocos2d-x代码中添加instagram到SDK:
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 其他设置
// 设置友盟SDK支持的平台, 记得加上Instagram
vector&int&* platforms = new vector&int&();
platforms-&push_back(INSTAGRAM);
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
针对于Android平台,您还需要添加所需jar和资源,将SDK压缩包中Platforms/Android/sns_platforms/instagram文件夹下的libs、res目录下的文件拷贝到工程中对应的文件夹中。
iOS平台集成Instagram不再需要其他的设置。
若不需要集成Instagram,可以在Xcode中把UMSocial_Sdk_Extra_Frameworks下把Instagram文件夹删除。并把UmSocialControllerIOS.h 头文件中把宏CC_ShareToInstagram设置为0。
集成Twitter
在Cocos2d-x游戏代码中添加如下代码:
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 其他设置
// 设置友盟SDK支持的平台, 记得加上Twitter
vector&int&* platforms = new vector&int&();
platforms-&push_back(TWITTER);
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
无需设置。
iOS平台集成Twitter不再需要其他的设置。
若不需要集成Twitter,可以在Xcode中把UMSocial_Sdk_Extra_Frameworks下把Twitter文件夹删除。并把UmSocialControllerIOS.h 头文件中把宏CC_ShareToTwitter设置为0。
集成短信分享
在Cocos2d-x游戏代码中添加如下代码:
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 其他设置
// 设置友盟SDK支持的平台, 记得加上Twitter
vector&int&* platforms = new vector&int&();
platforms-&push_back(SMS);
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
将SDK压缩包中Platforms/Android/sns_platforms/sms文件夹下的libs、res目录下的文件拷贝到工程中对应的文件夹中即可。
iOS平台集成短信不再需要其他的设置。
集成邮件分享
在Cocos2d-x游戏代码中添加如下代码:
// 获取一个CCUMSocialSDK实例
CCUMSocialSDK *sdk = CCUMSocialSDK::create("你的友盟appkey");
// 其他设置
// 设置友盟SDK支持的平台, 记得加上EMAIL
vector&int&* platforms = new vector&int&();
platforms-&push_back(EMAIL);
// 其他你需要的平台
// 将这些平台添加到SDK中
sdk-&setPlatforms(platforms) ;
Android平台
将SDK压缩包中Platforms/Android/sns_platforms/email文件夹下的libs、res目录下的文件拷贝到工程中对应的文件夹中即可。
iOS平台集成邮件不再需要其他的设置。
设置SSO授权
新浪微博的SSO授权
要使用新浪微博SSO授权,首先您需要在新浪微博开放平台填写游戏的相关信息。如有问题,请。
针对于Android平台需要支持新浪微博SSO授权,首先您需要将压缩包下的platforms/Android/sns_platforms/sina/src/目录下的com文件夹拷贝到工程中的src目下,并且将libs目录下的SocialSDK_sina.jar拷贝到工程中的libs目录下。然后通过如下代码支持新浪微博的SSO授权 :
CCUMSocialSDK *sdk = CCUMSocialSDK::create("4eaee02c0003");
// 设置平台,按照您的需要添加平台
vector&int&* platforms = new vector&int&();
// 添加新浪平台
platforms-&push_back(SINA);
// 添加其他平台
// 添加平台到SDK中
sdk-&setPlatforms(platforms);
// 设置新浪微博SSO授权,参数2修改为你的授权回调地址
sdk-&setSsoAuthorization(SINA,"/sina2/callback");
// iOS通过以下设置
sdk-&setSinaAppKey("app key", "app secret", "/sina2/callback");
这样新浪就支持SSO授权了。
腾讯微博的SSO授权
针对于Android平台的腾讯微博SSO授权,您需要将压缩包内的Platforms/Android/sns_platforms/tencent_wb/目录下的jar包拷贝到您工程的libs目录下,并且添加到"build path"中。然后添加如下代码即可支持SSO授权 :
CCUMSocialSDK *sdk = CCUMSocialSDK::create("4eaee02c0003");
// 设置平台,按照您的需要添加平台
vector&int&* platforms = new vector&int&();
// 添加腾讯微博平台
platforms-&push_back(TENCENT_WEIBO);
// 添加其他平台
// 添加平台到SDK中
sdk-&setPlatforms(platforms);
// 设置腾讯微博SSO授权, 参数2修改为你的授权回调地址
sdk-&setSsoAuthorization(TENCENT_WEIBO,"/tencent2/callback");
这样腾讯微博就支持SSO授权了。
人人网的SSO授权(仅支持Android)
由于人人网iOS SSO SDK在横屏下有问题,不支持人人网iOS的SSO授权。
针对于Android平台的人人网SSO授权,您需要将压缩包内的Platforms/Android/sns_platforms/renren/目录下的jar包拷贝到您工程的libs目录下,并且添加到"build path"中。然后添加如下代码即可支持SSO授权 :
CCUMSocialSDK *sdk = CCUMSocialSDK::create("4eaee02c0003");
// 设置平台,按照您的需要添加平台
vector&int&* platforms = new vector&int&();
// 添加人人网平台
platforms-&push_back(RENREN);
// 添加其他平台
// 添加平台到SDK中
sdk-&setPlatforms(platforms);
// 设置人人网SSO授权的app id, app key, app secret
sdk-&setRenrenAppInfo("人人网的app id", "人人网的app key", "人人网的app secret");
// 最后设置人人网支持SSO授权
sdk-&setSsoAuthorization(RENREN,NULL);
最后在AndroidManifest.xml中添加如下权限:
&!-- renren sso Permission for Unit Test --&
&uses-permission android:name="android.permission.GET_TASKS" /&
&uses-permission android:name="android.permission.SET_DEBUG_APP" /&
&uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /&
&uses-permission android:name="android.permission.GET_ACCOUNTS" /&
&uses-permission android:name="android.permission.USE_CREDENTIALS" /&
&uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /&
并且如下Activity注册 :
&!-- 人人SSO授权所需的OAuthActivity --&
android:name="com.renn.rennsdk.oauth.OAuthActivity"
android:configChanges="orientation|navigation|keyboardHidden" /&
这样人人网就支持SSO授权了。
设置分平台的分享内容
通过CCUMSocialSDK的directShare和openShare函数设置的分享内容都是各个平台通用的,即所有平台的分享内容都是一样的。
在某些情况下,你需要某些平台的分享内容与其他平台的不一样,那么您可以使用如下接口来设置 :
CCUMSocialSDK *sdk = CCUMSocialSDK::create("4eaee02c0003");
// 设置新浪微博的分享内容
sdk-&setPlatformShareContent(SINA, "sina share 内容",
"assets/CloseNormal.png", "sina-title");
// 设置微信的分享内容
sdk-&setPlatformShareContent(WEIXIN, "WEIXIN share 内容",
"assets/CloseNormal.png", "WEIXIN-title",
"http://blog.csdn.net/bboyfeiyu");
// 设置QQ的分享内容
sdk-&setPlatformShareContent(QQ, "QQ share 内容", "assets/CloseNormal.png",
"QQ-title", "http://blog.csdn.net/bboyfeiyu");
该接口有五个参数,其中前三个参数为必填参数,分别为平台、文本内容、图片地址;后两个参数为选填,分别为分享时的标题、点击该条分享时跳转到的目标url,这两个属性主要在QQ、QQ空间、微信、微信朋友圈、来往、易信这几个平台上使用。
Android混淆
为了保证引用友盟Social SDK jar文件以及腾讯jar文件被混淆,请在proguard.cfg文件中添加以下代码避免被混淆.。
-dontwarn com.google.android.maps.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**
-libraryjars libs/SocialSDK_QQZone_2.jar
-keep enum com.facebook.**
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public interface com.facebook.**
-keep public interface com.tencent.**
-keep public interface com.umeng.socialize.**
-keep public interface com.umeng.socialize.sensor.**
-keep public interface com.umeng.scrshot.**
-keep public class com.umeng.socialize.* {*;}
-keep public class javax.**
-keep public class android.webkit.**
-keep class com.facebook.**
-keep class com.umeng.scrshot.**
-keep public class com.tencent.** {*;}
-keep class com.umeng.socialize.sensor.**
-keep class com.tencent.mm.sdk.openapi.WXMediaMessage {*;}
-keep class com.tencent.mm.sdk.openapi.** implements com.tencent.mm.sdk.openapi.WXMediaMessage$IMediaObject {*;}
-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
-keep public class [your_pkg].R$*{
public static final int *;
混淆过程中遇到的问题,请联系我们.
请发邮件至。如果您出现的问题和SDK相关,请说明您使用的是Android的SDK或者是iOS的SDK,我们会尽快回复您。

我要回帖

更多关于 qq空间开发者平台 的文章

 

随机推荐