Unity第三方分享(微信)插件ShareSDK使用简记
- 微信分享
- 遇到的问题记录
- 链接
- 官方链接
- 参考链接
微信分享
官方文档:MobTech集成文档-MobTech
下载地址:GitHub - MobClub/New-Unity-For-ShareSDK: New sample of ShareSDK for Unity, including ios and android.
除了我自己记录的问题以外,大家可以直接根据官网上联系客服,客服服务超赞!!!
我的项目配置:
- 插件:1665733122796123261.24.unitypackage
- Unity版本:Unity 2021.3.11 f1c2
遇到的问题记录
SDK的使用方法,在官方文档中已经基本明确写出,这里记录几个我遇到的坑。
-
baseProjectTemplate.gradle文件中,除了文档中提到的需要添加的两个点之外,还需要加一句:
mavenCentral()
。如图。
由于 jCenter 官方宣布将在2021年5月1日关停 jCenter 服务,并逐步删除数据,为保证开发者能够正常使用,微信 Android openSDK 已经迁移至 Maven Central。
-
launcherTemplate.gradle文件根据文档配置就好,配置这个文件的目地是显示对应的分享到哪个平台的选项的。可以参考安卓原生端的文件配置:ShareSDK-for-Android/MobSDK.gradle at master · MobClub/ShareSDK-for-Android · GitHub。
-
demokey.keystore文件,SDK自带的文件,密码为:123456。
-
回传用户隐私授权结果(
submitPolicyGrantResult
):mobsdk.submitPolicyGrantResult(true);
传入的第一个参数为Boolean
类型的,true
代表同意授权、false
代表不同意授权。注意:该接口必须接入,否则可能造成无法使用MobTech各SDK提供的相关服务。这里注意我就因为没有注意这个而出现BUG调试了很久。 -
文官方档中,下面有3个接口分别是:分享、授权,获取用户信息。注意这里3个接口为不同的功能,并没有相互关系。我最开始认为需要先向第三方授权之后才可以进行分享,但最终询问官方客服后,才知道其中的错误。注意仔细查看文档描述。
-
分享接口中有4个不同的接口:
ShareContentWithActivity
只在iOS端,通过苹果的系统弹窗进行分享;ShareContent
是直接分享,项目中使用的便是这个;ShowPlatformList
通过一个有多平台分享的选择菜单进行分享;ShowShareContentEditor
先弹出一个经过编辑的界面(之前设置的各种编辑信息Text、Title等就是在这里使用)来进行分享。
-
在设置分享类型设置为
ContentType.MiniProgram
时,即为小程序分享,具体设置可查看插件自带的Demo.cs脚本。 -
最后一个问题比较复杂,主要是在iOS平台,首先ShareSDKDevInfo.cs脚本,建议把不需要的平台注释掉,当需要加入其他平台时再取消注释,如图:
当取消注释之后,修改脚本中对应的数值(第三方平台申请的对应数值),例如:
上面的操作完成之后,一定要将场景中添加在GameObject的ShareSDK组件删除再添加一遍,因为插件中的iOS部分的Plugins\iOS\ShareSDK\Editor\ShareSDK.mobpds配置文件,在官网的Unity文档中并未提及,但它里面配置着iOS项目所需的第三方支持文件,根据源码,发现在脚本ShareSDKConfigEditor.cs中有关于ShareSDK.mobpds文件代码,
该脚本为编辑器脚本,OnDisable
函数是在场景中删除脚本时才会调用。即,当ShareSDK组件删除时,会根据代码中设置的第三方信息,编辑ShareSDK.mobpds文件。这样Build项目时,才会根据ShareSDK.mobpds文件将插件中预制的对应第三方支持文件,打包到输出的项目中。
感兴趣的可以查看源码。 -
根据上面的问题,这里再记录一个我最开始出现的问题。
当我使用Git->push项目时,插件中的一些文件由于特殊的后缀,被Git自动忽略了,然后我手动在忽略文件(.gitignore)中,添加了不要忽略的文件后缀,当我完成后将所有的插件文件都push了Git,这时我并没有关注上面问题提到的ShareSDK.mobpds文件,直接打包测试(iOS->TestFlight)发现无法Uploading(可以上传,但经过官方处理之后,包消失了),花了好长时间才知道,由于没有修改ShareSDK.mobpds文件,它把所有的第三方支持文件都打到了项目中,而其中一些第三方是需要在Xcode中设置权限的,由于没有权限,包就被苹果官方“吞了”,而且还没有任何报错回复(“太坑了”),之后经过设置,当时打包只用微信相关功能,就没有问题了。
链接
官方链接
- https://github.com/MobClub/New-Unity-For-ShareSDK/tree/master
- https://www.mob.com/wiki/detailed?wiki=552&id=14
- https://github.com/MobClub/ShareSDK-for-Android/blob/master/SampleFresh/MobSDK.gradle
- https://www.mob.com/wiki/detailed?wiki=482&id=14
参考链接
- https://blog.csdn.net/qq_36559726/article/details/79647914
- https://blog.csdn.net/a0_67/article/details/127058777
- https://blog.csdn.net/qq_43512996/article/details/120521603
- https://blog.csdn.net/beizijingzx/article/details/80798949
- https://blog.csdn.net/m0_37679113/article/details/80363642