Unity使用ShareSDK分享功能,包括自定义分享界面,Android以及IOS分享配置。

项目使用了ShareSDK来做分享功能,ShareSDK还是很良心的作为一个免费的软件竟然还有回复率很高的客服。这帮助了我很多,还有一些问题是在网上查到的答案。过于基础的知识就不再赘述了,可以通过其他人写的博客或者官方文档来了解。
闲言少叙,我们从第一个自定义分享界面开始。


一、自定义分享界面
在分享的时候我们可能不希望用到ShareSDK提供的界面,或者我们需要分享的平台没有它提供的那么多。此时我们就需要进行自定义界面这个工作了。
首先我们看一下原生的Demo是怎么做的,然后根据它的逻辑进行我们的一些自定义修改。原生的代码如下:

 public void ShowShareMenu()
    {
        ShareContent content = new ShareContent();
          //(Android only) 隐藏九宫格里面不需要用到的平台(仅仅是不显示平台)
        //(Android only) 也可以把jar包删除或者把Enabl属性e改成false(对应平台的全部功能将用不了)
        String[] platfsList = { ((int)PlatformType.QQ).ToString(), ((int)PlatformType.Facebook).ToString(), ((int)PlatformType.TencentWeibo).ToString() };
        content.SetHidePlatforms(platfsList);

        content.SetText("---");
        //分享图片链接。 
        content.SetImageUrl("https://car2.autoimg.cn/cardfs/product/g5/M00/2A/9D/1024x0_1_q87_autohomecar__wKjB0lo8bfmAW3jeAANc_bJcaOk942.jpg");
        content.SetTitle("---");

        //(Android only) 针对Android绕过审核的多图分享,传图片String数组 
        String[] imageArray = { "/sdcard/test.jpg", "http://f1.webshare.mob.com/dimgs/1c950a7b02087bf41bc56f07f7d3572c11dfcf36.jpg", "/sdcard/test.jpg" };
        content.SetImageArray(imageArray);

        content.SetTitleUrl("http://www.mob.com");
        content.SetSite("Mob-ShareSDK");
        content.SetSiteUrl("http://www.mob.com");
        content.SetUrl("http://www.mob.com");
        content.SetComment("test description");
        content.SetMusicUrl("http://mp3.mwap8.com/destdir/Music/2009/20090601/ZuiXuanMinZuFeng20090601119.mp3");
        content.SetShareType(ContentType.Image);

        //不同平台分享不同内容
        ShareContent customizeShareParams = new ShareContent();
        customizeShareParams.SetText("Sina share content");
        customizeShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
        customizeShareParams.SetShareType(ContentType.Text);
        customizeShareParams.SetObjectID("SinaID");
        content.SetShareContentCustomize(PlatformType.SinaWeibo, customizeShareParams);
        //优先客户端分享
        // content.SetEnableClientShare(true);

        //使用微博API接口应用内分享 iOS only
        // content.SetEnableSinaWeiboAPIShare(true);
        ScreenCapture.CaptureScreenshot("ScreenShotToShare");
        content.SetImagePath(Application.persistentDataPath+ "/ScreenShotToShare");
        //通过分享菜单分享
        ssdk.ShowPlatformList(null, content, 100, 100);
        //重写分享界面。
        //ssdk.ShareContent();
    }

上边的代码片段就是ShareSDK用来调出分享的代码,核心的代码是:”ssdk.ShareContent()”这一句。我们只需要重新设置一下Content,然后通过自己写的UGUI去调用分享的方法就可以了。重新设置界面的工作需要在Unity中用UGUI自己拼一个界面就可以了。下图是我自己做的分享界面。
分享界面
调用代码如下:

   //分享到微信朋友圈
    public void ShareWechatMoments()
    {
        ShareContent content = new ShareContent();
        content = ShareContentSet(content);
        //重写分享界面。
        ssdk.ShareContent(PlatformType.WeChatMoments, content);
    }
  //设置Content的方法,这个方法可以统一设置分享的Text以及分享形式。如果需要增加平台会很方便。
      public ShareContent ShareContentSet(ShareContent content)
    {
        content.SetText("这里是分享内容");
        content.SetComment("");
        content.SetShareType(ContentType.Image);
        //content.SetEnableClientShare(true);
        if (myScreenShotPath!=null)
        {
            content.SetImagePath(myScreenShotPath);
        }
        return content;
    }

做完上面的部分,我们此时就已经完成了自定义分享界面,可以很方便的进行自己的分享界面的配置。
二、安卓的配置分享
安卓的其他部分都还好,除了需要用户的KeyStore之外,倒是没有什么别的要求了。下边就来说一说怎么解决安卓的分享问题。我们需要做下边三件事情。

  • 在Unity中为应用创建一个KeyStore。
  • 在微信/新浪开放平台完成Android平台的BundleID填写。以及必须要有的KeyStore,KeyStore的获取方法,后边会说到。
  • 申请获取应用的KeyStore。
    创建KeyStore,在相应的位置填写KeyStore的名称和密码就可以了:
    这里写图片描述
    微信开放平台填写应用签名:
    这里写图片描述
    记得应用签名一定要是小写,我写了大写发现没用。。。
    应用签名的获取方法:
    https://github.com/mobileresearch/weibo_android_sdk/blob/master/app_signatures.apk 这是新浪微博提供的应用签名获取工具,装在手机上之后就可以使用,然后根据指示获取应用签名,然后填写到开放平台就可以了。记得微信和微博都要写啊。 这里安卓的一些配置就已经完成了。
    三、IOS的配置分享
    IOS需要添加一些库的引用,还有增加白名单等。这里我贴上图给大家看:
    首先在引用库中添加如下的一些文件,引用库目录是:Build Phases/Link Binary With Libraries 注意现在的Xcode.dylib已经是.tbd文件了.
    这里写图片描述
    做完这一步,还需要添加URL Schemes 。在Info/URL Types中添加如下。注意这里的wb + Appkey,Appkey是你在微博开放平台上申请的AppKey。
    这里写图片描述
    配置过了URLTypes,然后就需要配置应用的白名单,即让应用允许调用我们的SDK。路径:Info/Custom IOS Target Properties/LSAppliactionQueriesSchemes然后点击加号增加。
    这里写图片描述
    这里写图片描述
    之后进行打包就可以进行分享啦!
    我们的项目用到了,微信,微博分享,并且安卓和IOS都分享成功了。如果你有什么问题也可以留言。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!针对您的问题,这里提供一些相关的信息供您参考。 首先,Unity是一款跨平台的游戏开发引擎,可以支持在多个平台上进行游戏开发。而AndroidiOS是其中比较常见的移动平台。 在AndroidiOS平台上嵌入Unity的开发示例,可以参考官方文档中的相关内容。具体步骤如下: 1. 创建Unity项目并设置相关参数,例如选择AndroidiOS平台,设置屏幕分辨率等。 2. 在Unity项目中添加所需的场景和游戏对象,并设置相应的脚本和材质等。 3. 将Unity项目导出为AndroidiOS平台所需的文件格式,例如APK或IPA文件。 4. 在AndroidiOS项目中嵌入Unity文件,并通过相关代码进行调用和交互。 需要注意的是,AndroidiOS平台上嵌入Unity的具体实现方式可能会有所不同,需要根据具体情况进行调整和修改。 另外,关于在Unity中开发AndroidiOS应用的示例,也可以参考官方文档中的相关内容。具体步骤如下: 1. 创建Unity项目并设置相关参数,例如选择AndroidiOS平台,设置屏幕分辨率等。 2. 在Unity项目中添加所需的场景和游戏对象,并设置相应的脚本和材质等。 3. 使用Unity提供的AndroidiOS插件进行开发,例如调用相机或GPS等硬件功能,或者进行网络通信等。 4. 将Unity项目导出为AndroidiOS应用程序,并进行相关的测试和调试。 需要注意的是,开发AndroidiOS应用程序需要遵循相应的规范和标准,例如Android应用程序需要满足Google Play的要求,iOS应用程序需要通过苹果的审核。因此,在开发过程中需要谨慎处理相关问题。 希望以上信息对您有所帮助,如有任何疑问,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值