一、友盟分享的使用
二、友盟登陆的使用
三、友盟分享组件90%常见问题汇总
** 因为官网论坛每一条都要点个链接进去,好麻烦,我就集中在这篇博客里面了,方便查看。 **
(一) QQ\Qzone
1. 如何分享大图\纯图片
不传递withText参数,分享类型即为纯图片类型
2. QQ分享成功却回调取消
1.AndroidManifest配置错误(图中箭头处应为你qq平台申请的AppId)
2.你是横屏应用,注意上图中AssistActivity的configChanges的配置,你的配置要与上图一致. 3.文字或图片分享到QQ说说有时回调取消有时回调成功,这是QQsdk的一个官方bug,暂未修复 4.如果配置正确,但是部分机型仍然回调取消,需要检查自己进行分享的activity,这个activity的启动模式不能是singleInstance**
3. 分享成功但回调提示分享取消
出现这个问题的原因在于QQ部分的回调没有正确配置,检查下面几点: 1. Android manifest xml正确配置 <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="tencent100424468" /> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" />同时注意<data android:scheme="tencent100424468" />这里的APPid需要替换成你代码里配置的APPid, 还有PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); 这两处的APPid应该是一致的,同时注意不要删掉tencent前缀 2. 注意实现onActivityresult方法 在分享所在的Activity(不能复写在fragment)里实现下面的方法onActivityResult(); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); mShareAPI.onActivityResult(requestCode, resultCode, data); }
4. QQ分享内容只显示一条链接
QQ分享网页到我的电脑,或者在PC端查看分享内容只会显示一个链接,所有的分享内容和行为,请保证在手机端查看
5. QQ/Qzone分享成功但没有接收到消息
1.分享内容中包含敏感词汇,如红包等,切换其他分享文本测试 2.QZONE由于多次分享同一内容,可能会被过滤掉
6. QQ登录获取的unionID为空
Android端,通过UShare提供的QQ登录功能可以实现获取unionID,以便实现同开发者账号下多个APP间账号ID打通, 但必须先通过邮件向腾讯官方申请,获取权限,否则unionID无法获取,申请邮箱:connect@qq.com
7. QQ分享图片到好友失败或debug模式提示缺少权限
1.分享的是本地图片,没有加读写权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>2.没有sd卡,qq不能分享本地图片 3.如果使用 targetSdkVersion 23或23以上,需要做6.0适配,手动获取WRITE_EXTERNAL_STORAGE权限,否则QQ不能进行图片分享
8. QQ登录提示该应用非官方正版应用,错误码100044
导出的apk签名、包名与之前腾讯开放平台上传的apk不匹配,更换签名文件重新打包,或在腾讯开放平台重新上传apk并通过审核后测试
9. QQ没有回调
如果QQ分享或授权没有回调,需要检查是否在进行分享操作的Activity中加入以下代码: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode,resultCode,data); }
10. Tencent变量初始化失败
1.你可以开启debug模式根据提示修改AndroidMainfest 2.检查你的AndroidManifest,是否配置了QQ相关的Activity,你先要确定你用的是精简版还是完整版, 两个版本的配置有所不同,如果混用,也会报出该问题 精简版: <activity android:name="com.umeng.qq.tencent.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="tencent100424468" /> </intent-filter> </activity> <activity android:name="com.umeng.qq.tencent.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden|screenSize"> </activity>注意,其中tencent100424468中的100424468要替换成你qq的appid 完整版: <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="tencent100424468" /> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden|screenSize"/>