Android集成常见问题

来源:互联网 发布:qt开发的软件 编辑:程序博客网 时间:2024/06/13 21:23

第三方登录步骤

问题:如何实现第三方账号登录?
回答:详细步骤,您可以参考“Android 说明文档”章节“获取用户资料及第三方登录”和Share SDK官方论坛相关文档“Share SDK第三方登录步骤”中的描述。

微信无法分享

问题:使用自己或者sample的代码都不能完成微信的分享,提示“分享正在后台进行”,然后就没有结果了。
回答:这是因为您的应用没有在微信开放平台上正确注册您的android客户端信息的原因。请参考“Android 说明文档”的“签名”章节,完成信息填写并将应用提交微信开放平台审核,审核通过以后您的应用就可以正确分享了。

改应用信息后不能分享

问题:在Sample中使用默认的Appkey可以分享,但是改了“ShareSDKDevInfor.xml”中的信息为我的AppKey以后就不能分享了
回答:某一个平台授权完成以后,其授权信息会保存在应用的SharePreference中,此后的操作会读取类似于AccessToken之类的数据,都是在此处读取。很多平台在分享的时候需要携带Appkey等信息,而Appkey和AccessToken是绑定的。因此当您授权以后,再修改Appkey,就会导致Appkey和AccessToken不匹配,因此被分享平台拒绝。为了不被拒绝,您修改Appkey的时候,需要清除应用的缓存数据,或者重新安装应用。

混淆提示错误

问题:集成了Share SDK以后,混淆出现问题。
回答:混淆的时候需要在混淆脚本中keep Share SDK的包,具体的内容可以参考Sample,下面是主要的一些内容,如:

-keep class cn.sharesdk.**{*;}
-keep class com.sina.**{*;}

上面的脚本分别keep了Share SDK和新浪微博SSO授权方式所需要的所有jar和源码。

考虑到部分开发者会使用附带Sample中的侧栏控件,那么此时还需要keep这个控件的代码:

-keep class m.framework.**{*;}

最后请注意,注册到AuthorizeActivity下用于自定义授权页面的类也是需要keep的,否则Share SDK将找不到它。

豆瓣、人人网不能分享

问题:使用Sample也不能利用豆瓣或者人人网分享
回答:Sample中的豆瓣和人人网应用信息是未审核通过的账号信息,这些应用只是用于演示,只有已经在应用详情住添加了测试账号,才能测试。

豆瓣添加测试账号的方法如下:

And doc faq 1.png

而人人网的操作也类似,可以如下图操作:

And doc faq 2.png

完成上述操作以后还不能测试,则需要联系豆瓣或者人人网的客服人员了,因为这应该是他们的问题。

印象笔记转正式服务器

问题:印象笔记如何从沙箱模式切换到生产模式。
回答:如果您集成印象笔记,需要在印象笔记那边注册一个应用账号。此时他们会提醒您,这个是沙箱(sandbox)账号,只能内部测试。如果您的应用测试通过了,他们会提供一个地址给您,通过填写资料,就可以激活,将您的ConsumerKey应用到生产服务器上了。这个流程一般不复杂,但是如果您想结合Share SDK,并且您在中国大陆使用,则需要到您项目的“assets/ ShareSDKDevInfor.xml”下,将其中的“HostType”修改为“china”即可。

获取腾讯微博图片地址

问题:新浪微博分享后,为何拿到的图片地址打不开?
回答:新浪微博对分享后的图片做了处理,从腾讯微博的“API文档/API问题QA”中有记录:其返回数据中的图片,需要在其地址后面添加“/120”、“/160”、“/460”和“/2000”,分表代表不同的尺寸。而头像,则后面添加“/20”、“/30”、“/40”、“/50”和“100”,也同样返回不同尺寸的图片。

集成ShareSDK到cocos2d-x

问题:Share SDK是否支持coco2d-x?
回答:Share SDK理论上支持所有可以引用jar包的Android第三方平台,因此Share SDK支持coco2d-x,也支持Unity3D。关于cocos2d-x中集成Share SDK的方法,可以参考开发者海浪的博文。在此Share SDK再次衷心感谢其对我们发展的支持和帮助!

Google+或QQ客户端无法分享

问题:使用快捷分享,提示Google+(或QQ)未安装或版本过低。
回答:Google+(或QQ客户端)的分享基于其客户端,如果没有安装Google+(或QQ)客户端或此客户端版本太低,会收到错误提示。如果您是直接调用接口分享,可以通过isValid方法,判断Google+(或QQ)客户端是否已处于可用状态。

快捷分享九宫格图标无法排序

问题:虽然在ShareSDK.conf中设置了不同平台的SortId,但是在九宫格中排列的顺序还是不正确
回答:在部分手机上可能会出现编码上的问题,或者开发者在编写配置文件的时候,误删了一些xml的tag,导致Share SDK解析此文件时出错。请仔细查看Logcat中的日志,如果提示缺少结束的tag,应该检查是否误删。如果提示“org. xmlpull.v1.XmlPullParserException: PI must not start with xml”,很可能是手机编码有问题,请删除ShareSDK.conf文件的xml头部(即第一行的“<?xml version="1.0" encoding="utf-8"?>”)就行了。