本文档使用Unity2019进行演示下载unitypackage从Mob的github地址下载ShareSDK.unitypackage:Git地址,如下图)![image.png]//download.sdk.mob.com/2022/06/22/15/165588252810937.61.png)下载完成后会得到一个.unitypackage结尾的文件,如下图:importunitypackage双击导入到unity工程中勾选,如下图:Demo.cs为demo的示例页面,Android通用(只需要勾选SSDKU3D.jar)demokey.keystore:demo的包签名文件SSDKU3D.jar:java桥接层文件iOS(全选)MOBTool:自动打包工具ShareSDK:根据图片选择需要的SDK文件后,点击import,导入并挂载ShareSDK.cs脚本文件。在unity界面左侧选择要使用的场景(比如MainCamera),点击AddComponent按钮添加ShareSDK.cs(ShareSDK核心文件),或者直接拖进去。如果想测试效果,也可以添加Demo.cs(ShareSDKsampleUI),如下图:挂上后,会发现提供了当前支持的平台及其配置信息。需要注意的是,当前的编译环境是Android或者iOS,字段名是不一样的!修改编译环境Platformsettings,在unity中选择菜单栏-File-BuildSettings,会打开BuildSettings操作框,根据你编译的环境选择,如果是iOS请选择iOS环境,如果是Android,请选择Android环境,然后点击SwitchPlatform切换环境,如下图:Android端集成编译配置资源修改1.将demokey.keystore和SSDKU3D.jar文件移动到上层目录,即从ShareSDK文件夹移动到Android文件夹;2.删除ShareSDK文件夹;3、删除Android目录下的baseProjectTemplate.gradle、launcherTemplate.gradle等文件;Android目录下的文件最终内容如下:修改Unity设置生成Gradle文件,在BuildSettings操作框左侧Platform列表中保持Android处于选中状态,点击PlayerSettings,会打开ProjectSettings操作框,如下图:切换到左侧的Player选项卡,然后选择右侧的PublishingSettings卡片,勾选CustomLauncherGradleTemplate和CustomBaseGradleTemplate选项,如下图所示:该操作会在“project\Assets\Plugins\Android目录”下生成baseProjectTemplate.gradle和launcherTemplate.gradle文件。修改gradle文件修改baseProjectTemplate.gradle文件打开baseProjectTemplate.gradle文件后,需要做两个操作:1.在classpath'com.mob.sdk:MobSDK:2018.0319'后添加mobclasspathclasspath"com.mob.sdk:MobSDK:2018.0319"android.tools.build:gradle'.1724"2.添加mob自带的maven仓库maven{url"https://mvn.mob.com/android/"}最终baseProjectTemplate.gradle文件的参考结果为:修改launcherTemplate.gradle文件打开launcherTemplate.gradle,在文件的最下面加入以下代码:applyplugin:'com.mob.sdk'MobSDK{appKey"moba0b0c0d0"appSecret"5713f0d88511f9f4cf100cade0610a34"spEdition"fp"ShareSDK{chapEdition"fp"ShareSDK{wx4868b35061f87885"appSecret"64020361b8ec4c99936c0e3999a9f249"withShareTickettruebypassApprovalfalseenabletrue}}}}这里的配置和安卓原生配置一样,可以参考Mob官方链接配置签名文件1.打开theBuildSettings菜单,左侧Platform列表选择Android,点击PlayerSettings,打开ProjectSettings操作框,选择左侧Player选项卡,右侧选择PublishingSettings卡片;2、勾选ProjectKeystore下的CustomKeystore;3.点击P在项目Keystore下的Select下选择一个keystore文件;4.在ProjectKeystore下填写Password;5.如果ProjectKeystore下的Password填写正确,ProjectKey下的Alias下拉框会亮起,选择自己的别名;6.在Key下填写ProjectPassword;iOS端编译配置。默认情况下已初始化所有平台。客户需要做的:修改并初始化我们SDK的AppKey和AppSecret配置自己的ShareSDK的AppKey和AppSecret(点击查看注册流程)publicclassShareSDK:MonoBehaviour{privateintreqID;#elifUNITY_IPHONE公共字符串appKey="3276d3e413040";公共字符串appSecret="4280a3a6df667cfce37528dec03fd9c3";公共字符串mobNetLater="2";publicListcustomAssociatedDomains=newList();#endif''''''}修改第三方社交平台的初始化信息配置可以找到ShareSDKDevInfo.cs文件修改配置需要的平台信息选择需要的平台,如果不需要可以直接评论或者删除。publicclassDevInfoSet{publicSinaWeiboDevInfosinaweibo;公众微信wechat;公众号qq;字符串值),例如修改微信平台的公共类微信:DevInfo{#ifUNITY_ANDROIDpublicstringSortId="5";publicconstinttype=(int)PlatformType.WeChat;公共字符串AppId="wx4868b35061f87885";公共字符串AppSecret="64020361b8ec4c99936c0e3999a9f249";公共字符串用户名=“gh_afb25ac019c9@app”;publicstringPath="/page/API/pages/share/share";publicboolBypassApproval=false;publicboolWithShareTicket=string0";#elifUNITY_IPHONEpublicconstinttype=(int)PlatformType.WeChat;publicstringapp_id="wx617c77c82218ea2c";publicstringapp_secret="c7253e5289986cf4c4c74d1ccc185fb1";publicverstringapp_unisalLink="https://70imc.share2dlink.com/";#endif}[Serializable]publicclassWeChatMoments:DevInfo{#ifUNITY_ANDROIDpublicstringSortId="6";publicconstinttype=(int)PlatformType.WeChatMoments;公共字符串AppId="wx4868b35061f87885";公共字符串AppSecret="64020361b8ec4c99936c0e3999a9f249";publicboolBypassApproval=true;#elifUNITY_IPHONEpublicconstinttype=(int)PlatformType.WeChatMoments;公共字符串app_id="wx617c77c82218ea2c";公共字符串app_secret="c7253e5289986cf4c4c74d1ccc185fb1";publicstringapp_universalLink="https://70imc.share2dlink.com/";#endif}[Serializable]publicclassWeChatFavorites:DevInfo{#ifUNITY_ANDROIDpublicstringSortId="7";publicconstinttype=(int)PlatformType.WeChatFavorites;公共字符串AppId="wx4868b35061f87885";公共字符串AppSecret="64020361b8ec4c99936c0e3999a9f249";#elifUNITY_IPHONEpublicconstinttype=(int)PlatformType.WeChatFavorites;公共字符串app_id="wx617c77c82218ea2c";公共字符串app_secret="c7253e5289986cf4c4c74d1ccc185fb1";publicstringapp_universalLink="https://70imc.share2dlink.com/";#endif}publicclassWechatSeries:DevInfo{#ifUNITY_ANDROID//对于android,请在class"Wechat"class"WechatMoments"orclass中设置配置"WechatFavorite"//对于Android,请在类"Wechat"中设置配置,WechatMoments或WechatFavorite中配置相关信息↑#elifUNITY_IPHONEpublicconstinttype=(int)PlatformType.WechatPlatform;公共字符串app_id="wx617c77c82218ea2c";公共字符串app_secret="c7253e5289986cf4c4c74d1ccc185fb1";公共字符串app_universalLink="https://70imc.share2dlink.com/";#endif}确认文件中修改了AppKey等信息后,进入挂载脚本同步查看是否修改AppKey,可以点击Reset,刷新,同步修改后的信息,也可以直接在挂载脚本中修改。最后确保脚本文件和挂载脚本已经改成自己的信息接口回调传递用户隐私授权结果(submitPolicyGrantResult)调用示例传入的第一个参数为Boolean类型,true表示同意授权,false表示不同意授权mobsdk.submitPolicyGrantResult(true);注意:此接口必须连接,否则可能导致无法使用MobTech的SDKs提供的相关服务分享(ShowPlatformList)首先介绍命名空间:usingcn.sharesdk.unity3d;公共ShareSDKssdk;构建共享信息ShareContentcontent=newShareContent();content.SetText("这是一个测试字符串。");content.SetImageUrl("https://f1.webshare.mob.com/code/demo/img/1.jpg");content.SetTitle("测试标题");content.SetTitleUrl("http://www.mob.com");content.SetSite("Mob-ShareSDK");content.SetSiteUrl("http:///www.mob.com");content.SetUrl("http://www.mob.com");content.SetComment("测试说明");content.SetMusicUrl("http://mp3.mwap8.com/destdir/Music/2009/20090601/ZuiXuanMinZuFeng20090601119.mp3");content.SetShareType(ContentType.Webpage);几个常用的参数方法说明(不常见的方法见Assets/Plugins/ShareSDK/ShareContent.cs脚本):Text:共享文本Title:共享标题TitleUrl:标题的网址(QQ、Q空间使用)SetImageUrl:iOS平台,local该方法用于android平台上的本地和网络图像。Url:分享链接(微信、微博、易信、Facebook等平台)ShareType:分享类型(微信、易信)FilePath:分享文件路径(微信、易信)MusicUrl:分享音乐链接(微信、QQ、易信)setsharecallbackssdk.shareHandler=ShareResultHandler;//回调定义如下:voidShareResultHandler(intreqID,ResponseStatestate,PlatformTypetype,Hashtableresult){if(state==ResponseState.Success){print("分享结果:");打印(MiniJSON.jsonEncode(结果));}elseif(state==ResponseState.Fail){print("fail!throwablestack="+result["stack"]+";errormsg="+result["msg"]);}elseif(state==ResponseState.Cancel){print("cancel!");}}Share//通过分享菜单分享ssdk.ShowPlatformList(null,content,100,100);//直接通过编辑界面分享ssdk.ShowShareContentEditor(PlatformType.SinaWeibo,content);//直接分享ssdk.ShareContent(PlatformType.新浪微博,内容);授权(Authorize)(每次都会跳转到第三方平台进行授权)设置授权回调ssdk.authHandler=AuthResultHandler;//回调定义如下:voidAuthResultHandler(intreqID,ResponseStatestate,PlatformType类型,哈希表结果){if(state==ResponseState.Success){print("授权成功!");}elseif(state==ResponseState.Fail){print("fail!throwablestack="+result["stack"]+";errormsg="+result["msg"]);}elseif(state==ResponseState.Cancel){print("cancel!");}}授权ssdk.Authorize(PlatformType.SinaWeibo);获取用户信息(GetUserInfo)(仅首次跳转到第三方平台授权)指定回调sdk.showUserHandler=GetUserInfoResultHandler;//回调定义如下:voidGetUserInfoResultHandler(intreqID,ResponseStatestate,PlatformType类型,Hashtable结果){if(state==ResponseState.Success){print("getuserinforesult:");print(MiniJSON.jsonEncode(result));}elseif(state==ResponseState.Fail){print("fail!throwablestack="+result["stack"]+";errormsg="+result["msg"]);}elseif(state==ResponseState.Cancel){print("cancel!");}}获取用户信息ssdk.GetUserInfo(平台类型.新浪微博);注意:auth和getuser接口都可以实现授权登录功能,可以随意调用封装的用法。经过以上所有修改后,已经可以进行打包操作了。如果您在集成过程中遇到问题,可以咨询MobTech技术支持了解详情,立即点击QQ咨询