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都分享成功了。如果你有什麼問題也可以留言。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章