原文链接:Unity接入ShareSDK实现QQ登录和QQ分享、微信分享

由于微信登录需要企业审核,我这里就不说明了,有需要的可以去官网看一下文档,和QQ登录比多了一个打包的步骤。

第一步:到官网申请开发者账号:MOB

第二步:到腾讯QQ开放平台申请开发者账号并创建应用:腾讯开放平台

点击创建应用。然后会有一个:APPID和APPKEY 保留下来它

第三步:在Mob官网创建自己的应用: http://dashboard.mob.com/#!/index

保留下应用的APPID和KEY

第四步:在Mob官网下载Unity专用SDK包进行导入到项目中去:点击下载

第五步:在Unity工程中挂载上:ShareSDK.cs脚本然后将Mob中你创建的应用的Key等信息填写进去

第六步:在ShareSDK脚本中找到DevInfo定义的地方找到QQ类:修改其中的ID和KEY。

就修改成腾讯开放平台中你创建的应用的ID和KEY

第七步:创建一个新的脚本挂载到相同的物体上,然后这样...


  1. using cn.sharesdk.unity3d;
  2. //定义ShareSDK
  3. private ShareSDK shareSdk;
  4. void Start()
  5. {
  6. //获取ShareSDK
  7. shareSdk = GetComponent<ShareSDK>();
  8. }
  9. /// <summary>
  10. /// 用户授权 QQ
  11. /// </summary>
  12. public void QQLogin()
  13. {
  14. //设置回掉函数
  15. shareSdk.authHandler = AuthResultHandler;
  16. //请求授权
  17. shareSdk.Authorize(PlatformType.QQ);
  18. }
  19. /// <summary>
  20. /// 授权回掉
  21. /// </summary>
  22. /// <param name="reqID"></param>
  23. /// <param name="state"></param>
  24. /// <param name="type"></param>
  25. /// <param name="result"></param>
  26. void AuthResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
  27. {
  28. switch (state)
  29. {
  30. case ResponseState.Success:
  31. print("authorize success !");
  32. Hashtable user = shareSdk.GetAuthInfo(PlatformType.QQ);
  33. print(MiniJSON.jsonEncode(user));
  34. break;
  35. case ResponseState.Fail:
  36. print("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]);
  37. break;
  38. case ResponseState.Cancel:
  39. print("cancel !");
  40. break;
  41. }
  42. }

第八步:设置分享(可以显示全平台分享和指定平台分享)

分享的时候需要传递很多的属性进去:

详解可以参考Demo.cs脚本(SDK里自带的)里面有常用的属性写法

还有一些不常用的属性请看:ShareContent.cs脚本

下面给一个示例代码:


  1. //在Start初始化的时候设置回调
  2. void Start()
  3. {
  4. //获取ShareSDK
  5. shareSdk = GetComponent<ShareSDK>();
  6. shareSdk.shareHandler = ShareResultHandler;
  7. }
  8. public void fenxiang__QQ() //QQ分享
  9. {
  10. ShareContent content = new ShareContent();
  11. content.SetTitle("测试");
  12. content.SetText("测试文本");
  13. content.SetTitleUrl(
  14. "https://www.gamersky.com/showimage/id_gamersky.shtml?http://img1.gamersky.com/image2019/07/20190725_ls_red_141_2/gamersky_042origin_083_2019725182972C.jpg");
  15. content.SetImageUrl(
  16. "https://www.gamersky.com/showimage/id_gamersky.shtml?http://img1.gamersky.com/image2019/07/20190725_ls_red_141_2/gamersky_042origin_083_2019725182972C.jpg");
  17. content.SetShareType(ContentType.Image);
  18. shareSdk.ShareContent(PlatformType.QQ, content);
  19. }
  20. public void fenxiang_WX()
  21. {
  22. ShareContent content = new ShareContent();
  23. content.SetTitle("标题");
  24. content.SetText("内容");
  25. content.SetImageUrl("https://www.gamersky.com/showimage/id_gamersky.shtml?http://img1.gamersky.com/image2019/07/20190725_ls_red_141_2/gamersky_042origin_083_2019725182972C.jpg");
  26. content.SetUrl("");
  27. content.SetShareType(ContentType.Image);
  28. shareSdk.ShareContent(PlatformType.WeChat, content);
  29. }
  30. //以下为回调的定义:
  31. void ShareResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
  32. {
  33. myConsole.text += type.ToString();
  34. switch (state)
  35. {
  36. case ResponseState.Success:
  37. print("分享成功" + MiniJSON.jsonEncode(result));
  38. break;
  39. case ResponseState.Fail:
  40. print("分享失败");
  41. break;
  42. case ResponseState.Cancel:
  43. print("分享取消");
  44. break;
  45. }
  46. }

上面的这种写法是指定平台分享:

如果将

 shareSdk.ShareContent(PlatformType.QQ, content);

替换成:

ssdk.ShowPlatformList(null, content, 100, 100);

即可以显示全平台分享

其中分享传递的参数大家需要根据分享的平台来进行设定!

可以参考Demo.cs或者关注Mob的技术论坛:http://bbs.mob.com/forum.php

Unity接入ShareSDK实现QQ登录和QQ分享、微信分享的更多相关文章

  1. Android之第三方平台实现QQ登录和QQ分享

    目前大多数APP都包含了第三方平台的登录,特别是QQ和微信,这篇博客主要讲的是如何实现QQ第三方平台实现QQ登录和分享功能,功能包含: 登录授权登录获取用户信息(昵称,头像,地址等) QQ分享给好友 ...

  2. laraval开发之QQ登录及QQ报错

    1.composer安装依赖 2.在config/app.php中注册providers并添加Socialite门面 3.在app/Providers/EventServiceProcider.php ...

  3. 授权QQ登录的qq端前端页面变迁

    ac_type = 'qq' if ac_type == 'qq': myid, mypwd = qq_key xp = '/html/body/div/div/div[2]/div/div/div/ ...

  4. 移动 App 接入 QQ 登录/分享 图文教程

    移动 App 接入 QQ 登录/分享 图文教程 这里先要提两个平台,腾讯开放平台和 QQ 互联平台: (一)腾讯开放平台 官网地址:https://open.tencent.com/ 介绍:腾讯开放平 ...

  5. pc版qq登录及移动版qq登录的申请过程

    1.在哪里接入?    网站接入QQ登录在QQ互联(https://connect.qq.com)上创建:移动应用也可以在QQ互联(https://connect.qq.com)上创建,但是不推荐如此 ...

  6. 我用Django搭网站(2)-QQ登录

    接入QQ登录前,网站需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权. 第一步:准备阶段 打开QQ互联,并登录你的QQ账号.再点击导航上的" ...

  7. Moodle的qq登录版块的使用

    在这篇Moodle的qq登录(QQ登陆)版块的使用教程中,我们假定你已经有了一个有域名,外网能访问的Moodle2.4+网站,并且数据库使用的是mysql. 我们将提供Moodle的QQ登录版块的下载 ...

  8. 如何从零开始对接第三方登录(Java版):QQ登录和微博登录

    前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了QQ和微博这2大常用软件的一键登录,总的来说其实都挺简单的,可能会有一点小坑,但不算多,完整记录下来方便后来人快速对接. 后台设 ...

  9. DRF框架QQ登录功能

    用户模块---QQ登录 流程图 QQ登录文档:http://wiki.connect.qq.com/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_oauth2-0 流程简述 ...

随机推荐

  1. 统一UOS操作系统 修改源地址

    统一UOS操作系统 修改源地址 问题: 执行apt-get update的时候提示: root@sugon-PC:/etc/apt# apt-get update -y错误:1 https://uos ...

  2. 【山外笔记-工具框架】iperf3网络性能测试工具详解教程

    [山外笔记-工具框架]iperf3网络性能测试工具详解教程   本文下载链接 [学习笔记]iperf3网络性能测试工具.pdf 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性 ...

  3. ltp

    1.查找文件 find / -name 'filename'   1 2.查找目录 find / -name 'path' -type d 1 3.查找内容 # find .| xargs grep ...

  4. stm32 向W25Q256FLASH中通过 FATFS文件系统写入数据 写多了之后出现错误,之前存储的全都找不到了

    stm32 像W25Q256FLASH中通过  FATFS文件系统写入数据  写多了之后出现错误,之前存储的全都找不到了 http://firebbs.cn/thread-23490-1-1.html ...

  5. Linux进阶之环境变量文件/etc/profile、/etc/bashrc、/etc/environment

    一.Centos 环境变量/etc/profile和/etc/profile.d 1.两个文件都是设置环境变量的文件. 2./etc/profile 是永久性的环境变量,是全局变量,/etc/prof ...

  6. TCP/IP、Http的区别--(转自任智康)

    TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据.关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:"我们在传输数据 ...

  7. 『动善时』JMeter基础 — 32、JMeter察看结果树组件详解

    目录 1.察看结果树介绍 2.察看结果树界面详解 3.察看结果树的其他功能 (1)将数据写入文件中 (2)Search功能 (3)Scroll automatically选项 4.总结 1.察看结果树 ...

  8. kafka之二:手把手教你安装kafka2.8.0(绝对实用)

    前面分享了kafka的基本知识,下面就要对kafka进行实操,先看如何安装. kafka需要zookepper的支持,所以要安装kafka需要有zookeeper的环境,zookeeper安装请参见& ...

  9. Step By Step(Lua数据持久化)

    Step By Step(Lua数据持久化) 1. 数据文件:    我们可以利用Lua中table的构造式来定义一种文件格式,即文件中的数据是table构造并初始化的代码,这种方式对于Lua程序而言 ...

  10. TensorRT原理图示

    TensorRT原理图示 NVIDIA的核心 TensorRT是有助于在NVIDIA图形处理单元(GPU)的高性能推理一个C ++库.它旨在与TensorFlow,Caffe,PyTorch,MXNe ...