ShareSDK 更新时间:2019-06-26 10:07


iOS

Q1: iOS-微信

无法分享到微信,由于应用Bundle id信息校验不通过,无法分享到微信?

A1:在微信开放平台上注册应用,需要把bundle id填写的跟自己项目里的Bundle id一致,微信会动态检测这个bundle id。


Q2:iOS-微信

无法分享到微信,由于当前分享的应用未获得分享权限,无法分享到微信?

A2:如果在微信开放平台上注册的是海外移动应用,是只能分享网页链接类型的,其他的类型不支持。


Q3 : iOS-微信

无法分享到微信,由于不支持的分享类型,无法分享到微信

A3:这个需要检查下构造分享参数,构造分享参数传值不对,导致的问题,假如说要分享小程序,但是userName或者开发类型传的不对,就报这个错误。


Q4:iOS-微信

微信分享链接或者分享小程序报200300的错误信息的问题?

A4:需要检查下构造分享参数里传值问题,有可能是图片太大,或者是链接参数问题导致的问题。


Q5:iOS-微信

微信点击跳转不了客户端,没有反应的问题?

A5:第一,检查是否有在plist文件里配置初始化我们sdk的appkey等信息,第二检查是否在启动的时候初始化了微信平台,有可能注释掉了初始化,第三没有配置微信的URL Scheme和白名单,第四构造分享参数传值不满足条件,例如图片太大,第四,丢失了微信的js和connection文件。


Q6:iOS-微信

{"status":2,"platform":22,"reqID":6,"res":{"error_code":200302,"error_msg":{"errcode":40125,"errmsg":"invalid appsecret, view more at http:\/\/t.cn\/RAEkdVq, hints: [ req_id: 3HOcbZyFe-QZl1va ]"}},"action":1}

A6:首先需要检查下在客户端里plist文件里配置的初始化我们sdk的appkey是不是自己的,然后在我们的后台找到这个对应的appkey的应用打开社会化平台设置的选项,找到微信好友,朋友圈,收藏看看状态是否勾选的开启,有没有配置appid,appsecret等信息和本地代码里是否配置的一致,如果开启的就要配置一致,没有开启可以不配置,配置的一致还有这个问题,那就本身微信初始化的appsecret的问题,这个需要自己在微信上重新去获取appsecret,有可能是注册的应用过期。


Q7:iOS-微信

微信登陆提示此公众号并没有这些scope的权限 错误码:10005

A7:微信注册应用没有开通登陆功能或者注册应用过期


Q8:每个平台报Error Domain=ShareSDKErrorDomain Code=200100 "(null)" UserInfo={error_code=200100, description=Platform configuration error:Connector is not exsit}错误问题?

A8:报这种问题是由于丢失了平台的Connection的文件,如果是pod集成,可能没有写对应的平台的命令导致。


Q9:分享报Domain=ShareSDKErrorDomain Code=200100 "(null)" UserInfo={error_code=200100, description=平台配置错误:appid is nil} 这个错误?

A9:第一,有可能是使用了新版本,但是初始化这些还是旧版本的初始化导致,第二是没有在plist文件里正确配置初始化我们sdk的appkey等信息,第三,是可能在我们的后台打开了平台配置的状态开关,但是没有配置appid。


Q10:iOS-微博

Error Domain=ShareSDKErrorDomain Code=200301 "(null)" UserInfo={error_code=200301, statusCode=-3}

Error Domain=ShareSDKErrorDomain Code=200301 "(null)" UserInfo={error_code=200301, statusCode=-5}

Error Domain=ShareSDKErrorDomain Code=200301 "(null)" UserInfo={error_code=200301, statusCode=-8}

A10:要检查下ATS配置了没有,已经在微博上注册的bundle id是否跟自己项目里的Bundle id填写一致,另外还有在微博上注册的应用有没有提交给微博那边审核

Q11:iOS-Facebook

A11:有可能是sdk更新到最新版本,但是facebook初始化还是用的旧版本的初始化,旧版本的初始化有设置这个authtype的,新的初始化已经没有了这个参数。可以检查下初始化


Q12:iOS-Facebook

error_code:200302,error_msg:"Failed to authenticate the application because of app name mismatch.Please check the application name configured by the dialog."

A12:需要检查facebook初始化displayname填写是否和在facebook上注册的应用名称一致,最好是英文名,其次检查这个开关是否打开:



Q13:iOS-Facebook

分享链接模式没有任何内容显示的问题

A13:需要检查下自己传的链接,可能是传的链接有问题


Q14:iOS-Facebook

facebook分享可以不传appsecret吗?

A14:facebook分享可以不传appsecret,。但是不能传nil或者null,可以传任意大于0的字符串。


Q15:iOS-Facebook

facebook分享成功了,但是回调走的失败,报未知状态的错误问题?

A15:这个问题是由于facebook本身没有返回正确的回调状态导致的问题,目前解决这个问题的办法,是在分享之前加下授权的方法,先授权在分享

[ShareSDK authorize:SSDKPlatformTypeFacebook settings:nil onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {
if (state== SSDKResponseStateSuccess) {
NSLog(@"%@",user.rawData);
}
else{
NSLog(@"%@",error);
}
}];



Q16:iOS-Kakao

Error Domain=KLKErrorDomain Code=11 ""templateId" is nil." UserInfo={NSLocalizedFailureReason="templateId" is nil

A16:kakao需要设置单独定制接口,设置模板id才行



Q17:Flutter中swift版本:/Users/apple/.pub-cache/hosted/pub.flutter-io.cn/sharesdk-1.1.0/ios/Classes/SharesdkPlugin.m:2:9:'ShareSDK/ShareSDK.h' file not found加上use_frameworks!找不到头文件的问题?

A17:可以在Xcode工程中加入桥接swift和oc桥接,添加头文件


Q18:No visible @interface for 'SSDKRegister' declares the selector 'setupWeChatWithAppId:appSecret:'

A18:找不到接口,头文件导入问题或者sdk导入问题,还有可能是用户自己项目里有自定义相同名称的宏导致的;


Q19:iOS-LinkedIn

A19:LinkedIn分享visibility传值,不能传connection-only,分享text和链接可以传PUBLIC以及CONNECTIONS,也可以传nil;


Q20:unity里如何删除掉不要的平台的库文件?

A20:如果在unity里只删除掉原生sdk里的微信sdk,生成XCode会找不到ShareSDK.h文件,整个sdk都不会生成在XCode里,这个不仅要删除掉微信sdk,还需要把其他文件里的相应的平台的库文件给删除掉才行,如果只是删除掉原生sdk,需要把pltpds文件里的folders字段删除掉


Q21:iOS-Youtube

A21:Youtube报错,youtube里面的appsecret不能传nil,可以传空或者其他随便的值


Q22:Error Domain=ShareSDKErrorDomain Code=200300 "(null)" UserInfo={SEL=sendReq:, error_code=200300}

A22:通常微信,qq分享报这个错误信息问题,需要检查构造分享参数里传值,有可能是图片,也有可能是链接传值有问题,还有要检查一个项目里只能有一个微信,qq的sdk,不能有多个,有多个需要删除掉。


Q23:Swift版本分享菜单要设置某平台不弹出编辑界面的问题,设置无效的问题?

A23:是因为平台类型写的不对导致,需要这样写SSDKPlatformType.typeWechat.rawValue;后面一定要加rawValue参数。


Q24:unity中分享报错Domain=ShareSDKErrorDomain Code=200101 "(null)" UserInfo={error_code=200101, description=Parameter error:text} ?

A24:是因为构造分享参数里传值有问题

这个参数写错导致的问题,应该这样写content.SetShareType(ContentType.Image);


Q25:reason: '[NSNull objectForKeyedSubscript:]: unrecognized selector sent to instance 0x1ed17d9d0'?

A25:分享的方法里构造分享参数的对象没有传值?


Q26:

A26:需要设置系统最低支持ios8.0


Q27:swift中报错: -[__SwiftValue iconNormal]: unrecognized selector sent to instance 0x170244a10?

A27:在swift中传平台类型需要加 rawValue,例如SSDKPlatformType.typeSinaWeibo.rawValue


Q28:-[WBImageObject setDelegate:]: unrecognized selector sent to instance 0x282b44860?

A28:这个错误是因为项目里不仅有我们sdk的微博sdk,还自己下载了早期的微博sdk,没有删除干净,或者是其他第三方的里面有微博sdk,需要都删除掉,只保留我们sdk里的微博sdk就可以


Q29:unity的默认的appkey都改为自己的了,但是转成Xcode的之后,还是显示我们默认的appkey和配置,是为什么?

A29:用户自己写了一个类,加了自己自定义的东西,例如:

这个自定义的需要把这个标识换成[PostProcessBuildAttribute(0)]这个才行; 

Q30:unity中在使用我们的组件下如何在配置自己的URL Scheme,才会不使我们的配置覆盖自己的配置?

A30:unity中自己项目里配置URL Scheme,如何做?用户自己写了一个类,加自己的URL Scheme,那么在自己的类里面引入[PostProcessBuild(数字)]或者[PostProcessBuildAttribute(数字)]这个属性标识 就行,要与我们文件里的[PostProcessBuildAttribute(88)] 这个数字不同。也可以在我们的文件里加他自己的URL Scheme,可以在自己需要的社交平台的pltpds文件里面,添加自己需要设置的scheme



Android:

Q1.Android-微信

微信一个key可以绑定多个包名吗,因为需要多渠道上架,包名不同;

A1.微信开放平台申请应用,一个key只能绑定一个包名,无法绑定多个包名,如果需要申请多渠道包名的key的话,需要申请多个key;


Q2.Android-微信-回调

微信没有回调?

A2.微信回调:这个WXEntryActivity.java 类 必须要在wxapi下,wxapi必须要在您的工程的包名package下。此处的包名必须与您的微信开放平台配置的包名一致才可以的;目前ShareSDK提供了Gradle集成方式,会自动根据您的包名生成回调配置,如果gradle集成的话可以不需要自己手动配置;


Q3.Android-微信-回调

ShareSDK跳到微信后,返回操作,取消分享,还是提示成功;

A3.您好,微信从6.7.2的版本之后修改了策略,是微信自己控制的,目前所有使用微信分享的都是这种效果;


Q4.ShareSDK for 小程序

ShareSDK可以打开小程序吗?

可以的;

ShareSDK可以分享小程序吗?

可以的;

ShareSDK可以分享后小程序,从小程序还原回app吗?

可以的,且可以自己携带参数;

A4.具体详情见链接:http://bbs.mob.com/forum.php?mod=viewthread&tid=25724&extra=page%3D1


Q5.微信回调与应用宝渠道回调冲突?

应用宝渠道需要用到微信的回调类,ShareSDK也有微信的回调类,冲突了?

A5.微信规定回调类只能用WXEntryActivity。所以ShareSDK对其做了适配,如果应用宝冲突的话可以这样处理:http://bbs.mob.com/forum.php?mod=viewthread&tid=21845&highlight=ShareSDK%E4%B8%8E%E5%BA%94%E7%94%A8%E5%AE%9D


Q6.新浪微博客户端分享报签名错误?

新浪微博客户端分享提示签名错误或者分享成功后发现微博中没有状态?

A6.检查没有微博状态是不是在草稿箱中,并且有SSO的相关提示,此类问题一般是是由于微博开放平台配置的包名和签名与您的app的不一致导致的,确保签名和包名配置的 一致即可;


Q7.腾讯QQ与QZone分享没有回调,或者提示取消?

分享QQ成功了,但是返回app之后无法提示成功,而是提示的取消分享?

A7.离线集成的话,需要在AndroidManifest中配置QQ的回调配置;

<activity
android:name="cn.sharesdk.tencent.qq.ReceiveActivity"
android:launchMode="2"
android:noHistory="true">
<intent-filter>
<data
android:scheme="tencent100371282" />
<action
android:name="android.intent.action.VIEW" />
<category
android:name="android.intent.category.DEFAULT" />
<category
android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>

其中,tencent后面的是QQ的appid,需要保证此appid必须与你配置的QQ的appid保持一致,否则回调会异常;

如果是Gradle集成,无需自己手动配置上述内容,ShareSDK会自动根据您的配置生成内容,避免自己配置错误,如果gradle还是提示取消,可以删除build目录,重新加载即可;


Q8.Google登录提示内部错误?

Google第三方登录直接toast提示“内部错误”,请问是什么问题?

A8.google开发者后台,需要配置签名信息,这个错误是由于您在google开发者后台中的签名配置与您的app的不一致导致的,注意google配置的格式是SHA1,不需要去掉冒号;


Q9.Facebook想要分享成功,需要做哪些内容;

Facebook,需要先申请应用,得到key,具体步骤查看链接:http://bbs.mob.com/forum.php?mod=viewthread&tid=19148&highlight=facebook;需要注意的是一些开关的打开,和回调地址的配置;配置完之后,将key配置到项目中,ShareSDK文档中有说明,配置完即可分享;


Q10.ShareSDK的界面怎么删除不需要的平台?

sharesdk分享会弹出很多第三方平台,不想要的怎么删除掉呢?

A10.离线集成,可以直接删除Jar包的方式即可,ShareSDK开头的jar包,除了ShareSDK-core这个jar不能删除,其他的按需要的删除即可;

Gradle集成的方式,是您在MobSDK下的ShareSDK里面加了什么平台,它就会有什么平台,具体参数可以参考Demo中的MobSDK.gradle文件,这里有全量的平台配置;


Q11.SDK配置第三方key的方式?

我认为第三方key的配置,配置在xml中,或者gradle中配置不安全,有其他的配置方式吗?

A11.ShareSDK提供了三种配置方式,一是在ShareSDK后台配置,二是在客户端中代码配置,三是常规在xml中或者gradle文件中配置,SDK的访问优先级依次递减,也就是说如果您在ShareSDK后台配置了,就不会访问代码中和xml中的配置参数了;

具体配置查看文档:第三方平台初始化配置;


Q12.如果自定义修改web授权的页面?

web授权页面可以可以修改标题栏等情况吗?现在的风格上与我们app的不符合?

A12.ShareSDK支持web页面的自定义的,可以自动修改,隐藏或者监听,详情见链接:http://bbs.mob.com/forum.php?mod=viewthread&tid=278&page=1&extra=#pid870


Q13.可以在App中不同地方显示不同的平台吗?

onekeyshare的页面上有些平台,加入我A页面只要微信,B页面只要QQ,应该怎么做?

A13.ShareSDK提供了接口,可以隐藏某个平台,oks.addHiddenPlatform(QQ.NAME);,比如这句就是隐藏QQ,想要隐藏其他的平台重复调用即可,留下您想留下的平台即可;


Q14.OnekeyShare分享,不同平台分享不同内容?

onekeyshare的分享有提供接口,可以自定义某个平台分享的内容不同,具体详情见链接:http://bbs.mob.com/thread-223-1-10.html


Q15.ShareSDK的默认onekeyshare的回调如何修改?

onekeyshare的分享有提示分享成功的toast,我想改下内容,如何操作呢?

A15.在oks.show之前添加代码,自己可以控制,注意oncomplete中是子线程,给提示的话需要传到UI线程中添加提示;

oks.setCallback(new PlatformActionListener() {
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
}

@Override
public void onCancel(Platform platform, int i) {
}
});




Q16.ShareSDK分享我可以不要九宫格页面吗?

ShareSDK分享我想单独分享一个平台,可以处理吗?

A16.可以的,在onekeyshare分享的代码中加上您先单独调用的参数即可;eg:

oks.setPlatform(QQ.NAME);加上这句就是单独分享到QQ;


Q17.微信分享失败

微信分享失败,提示toast:分享失败,或者进入onerror中,首先检查分享的方法参数是否足够,分享类型是否需要配置,如果这些配置没有问题,那么检查图片,可以先测试下单独分享文本,如果可以,肯定是图片因为的问题,首先检查下是否有存储权限,其次检查下可能是图片加载失败,可以换个图片链接再做测试;


Q18.微信能返回unionid吗?

unionid和openid是什么区别,ShareSDK可以获取unionid吗?

A18.unionid与openid的区别,openid,每个key的openid会有不同,unionid的话是一个账号下的应用是唯一的,所以一般用于打通账号,或者区分公众号等应用,确保unionid是唯一;


Q19.QQ如何才能返回unionid?

我们想要打通账号,两个key的返回的openid不同,想问下怎么得到唯一的标识?

A19.这个首先需要去腾讯申请

Unionid接口权限申请流程:目前只支持同一个开发者号码下已审核的应用进行打通。如有需要,可以发邮件到connect@qq.com申请,提供应用类型、信息(APPID和APPKEY),附上营业执照图片、网站备案截图(若有网站应用需要提供该项)即可。打通后同一个QQ登录不同APP ID应用后返回的unionid一致。具体打通事宜后续工作人员会通过邮件确认,请在1~5个工作日留意邮件,以邮件回复为准。

http://wiki.connect.qq.com/%E5%BC%80%E5%8F%91%E8%80%85%E5%8F%8D%E9%A6%88 

如上是腾讯申请的流程,收到回复确认后,回到ShareSDK授权,获取授权信息即可,里面就有unionid参数了;



Q20.Facebook可以实现图文分享吗?

我分享图片出去,但是文字分享不出去?

A20.facebook目前不支持图文分享的形式,客户端只支持单独图片或者链接的方式分享;

但是,现在安卓可现在的版本有话题分享,可以构建成图片的效果,分享话题文字的方法是:sp.setHashtag("话题文字");,其他方法不变,可以实现图文的效果出来。


Q21.line的web登录返回Authorize token is empty

Line的客户端授权登录正常,但是使用web登录返回存在问题

错误返回:Authorize token is empty; 

A21.错误原因,回调地址配置问题;

由于新版本的gradle配置问题,配置的callbackUri是无效的,必须配置"RedirectUri = "才有效果,已经反馈研发在修改了,现在可以先配置成RedirectUri = ,后续修改完之后统一callbackUri即可;


Q22.问题:印象笔记如何从沙箱模式切换到生产模式?

A22.印象笔记切换服务器的方式,可以通过修改应用信息中的“HostType”来实现。

在中国大陆,印象笔记有两个服务器,一个是沙箱(sandbox),一个是生产服务器(china)。

一般你注册应用,它会先让你使用sandbox,当你完成测试以后,可以到http://dev.yinxiang.com/support/上激活你的ConsumerKey,激活成功后,修改HostType为china就好了。 

至于如果您申请的是国际版的印象笔记(Evernote),则其生产服务器类型为 “product”。



Q23.QQ分享后来自的显示(美的厨房)

问题描述:如下图所示,分享完QQ好友之后,发现显示的不是自己的应用名称;


A23.问题原因:此处显示的应用名称,与图标是QQ根据配置的appid和appkey自动展示的,不受SDK与用户代码控制,所以更换了自己的key则会自动改变成自己的配置;

由于用户使用的QQ的appid和appkey是我们官方默认的,官方默认的appid的应用名称就是美的厨房,或者是ShareSDK.xml里的ShareSDK的appkey用的是默认的也不是自己申请的;

解决问题:如果是ShareSDK用的 是默认的,到http://mob.com去申请应用得到appkey替换即可,如果是QQ的appid和appkey没有替换,请到http://open.qq.com去申请应用得到appid和appkey替换默认的配置就好的了(默认的配置是在assets下的sharesdk.xml文件中);








通用:

Q1.通用-QQ-分享报错901111,9001010

QQ客户端分享报错,901111的错误码,


A1.由于QQ现在需要审核后才可以分享(之前分享不需要审核),所以此错误解决方法只需通过腾讯开放平台的审核即可,另外要检查注册好的应用的基本信息,包名和Bundle id是不是填写正确,和项目里是一致的



Q2.开放平台申请流程

各个开放平台,第三方平台,用您们分享可以不需要申请吗?

A2.您好,必须要申请的,需要得到第三方的授权,所以申请是必须的,申请流程您可以参考:http://bbs.mob.com/forum.php?mod=viewthread&tid=275&page=1&extra=#pid860


Q3.什么是linkcard分享?

linkcard分享怎么操作,效果是什么样子的?我应该怎么做才能linkcard分享?

A3.在微博消息流内,分享一条链接,该链接将解析为包含一个对象数据的特殊短链,且该对象 数据可以在微博消息流内显示并交互,这种形态就是微博消息流 LinkCard 解析。

具体申请和接入流程可以查看:http://bbs.mob.com/forum.php?mod=viewthread&tid=26247&extra=page%3D1


Q4.Facebook如何分享链接卡片的形式?

A4.fb分享链接,是根据链接中的配置,自动获取的,无法从客户端中设置代码或者接口来配置,只能通过前端的配置来操作,具体可以参考此处说明:http://bbs.mob.com/thread-26068-1-1.html


Q5.微信分享多图

微信分享多图会报如下错误;

A5.微信从6.7.3开始限制了多图的分享,从微信6.7.3版本之后微信的朋友圈还是好友都无法分享多图的处理;








SDK打包中 — 0%
SDK下载
正在根据您选择的SDK打包中,完成后自动下载
0%