Unity接入ShareSDK分享功能(Android端)

一、Mob官网注册并下载unity版本的shareSDK

1、进入开发者平台,创建应用;

2、创建成功后获得应用的  App Key 和 App Secret,最好保存下来以便后续使用;

3、下载ShareSDK,unity2019以后的版本,选择SourceCodeGradle版本,我这里用的是unity 2021;github地址:GitHub - MobClub/New-Unity-For-ShareSDK at SourceCodeGradle

二、将shareSDK导入unity并进行配置

按照官方集成文档将ShareSDK进行配置

官方文档:MobTech集成文档-MobTech

其中 launcherTemplate.gradle 文件中所添加的代码,是为了显示需要分享的平台,可以根据需求添加需要分享的平台名称,平台名称在 PlatformType.cs 文件中。

        devInfo {
            Wechat {
                appId "wx4868b35061f87885"
                appSecret "64020361b8ec4c99936c0e3999a9f249"
                withShareTicket true
                bypassApproval false
                enable true
            }
        }

三、在unity中进行配置

1、通过File -> build Settings 选择(Switch Platform) Android 平台,点击PlayerSettings进行配置;

2、Publishing Settings配置:Project Keystore 下的Path选择导入SDK资源中自带的文件demokey.keystore,Password是123456;

3、Other Settings配置:填写Package Name. 注意如果需要分享到微信,则Package Name必须与微信开放平台填写的包名一致。

四、编写实现分享逻辑代码

点击分享按钮后,出现平台进行分享,本代码只做了分享文字的功能,若想分享其它内容,可以参考SDK中的demo.cs脚本。

using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using cn.sharesdk.unity3d;
using TMPro;

public class Share : MonoBehaviour
{

    public Button shareBtn;
    private ShareSDK ssdk;
    ShareContent content;

    void Start()
    {
        Init();
        InitBtns();
    }

    //获得ShareSDK对象,并且注册分享后的回调
    void Init()
    {
        ssdk = GameObject.Find("ARCamera").GetComponent<ShareSDK>();
        ssdk.shareHandler = ShareResultHandler;
    }

    //初始化按钮的点击事件
    void InitBtns()
    {
        shareBtn.onClick.AddListener(OnClickWeChatBtn);
    }

    //测试短信
    //void OnClickTestMsgBtn()
    //{
    //    PrintInfo("OnClickTestMsgBtn");
    //    ssdk.ShowPlatformList(new PlatformType[] { PlatformType.SMS }, GetShareInfo(" SMS "), 100, 100);
    //}

    //测试微信
    void OnClickWeChatBtn()
    {
        ssdk.ShowPlatformList(new PlatformType[] { PlatformType.WeChat }, GetShareInfo("we chat"), 100, 100);
    }

    //测试邮件按钮
    //void OnClickEmailBtn()
    //{
    //    PrintInfo("OnClickEmailBtn");
    //    ssdk.ShowPlatformList(new PlatformType[] { PlatformType.Mail }, GetShareInfo("mail"), 100, 100);
    //}

    //测试直接打开
    //void OnClickShowContentBtn()
    //{
    //    PrintInfo("OnClickShowContentBtn");
    //    ssdk.ShareContent(PlatformType.SMS, GetShareInfo("SMS"));
    //}

    //获得分享的内容结构
    ShareContent GetShareInfo(string platformType)
    {
        ShareContent content = new ShareContent();
        content.SetText("this is a test string.");
        //content.SetImageUrl("https://f1.webshare.mob.com/code/demo/img/1.jpg");
        //content.SetTitle("test title:" + platformType);
        //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.Text);
        return content;
    }


    //分享后的回调
    void ShareResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
    {
        if (state == ResponseState.Success)
        {
            print("share result :");
            print(MiniJSON.jsonEncode(result));
        }
        else if (state == ResponseState.Fail)
        {
            print("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]);
        }
        else if (state == ResponseState.Cancel)
        {
            print("cancel !");
        }
    }
}

五、打包生成 .apk 安装包

参考

Unity接入ShareSDK的操作详解(Demo)_sharesdk修改jar包-CSDN博客

MobTech集成文档-MobTech

【ShareSDK】Unity集成 - 知乎 (zhihu.com)

https://github.com/MobClub/New-Unity-For-ShareSDK/tree/SourceCodeGradle

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值