Unity接入ShareSDK实现QQ登录和QQ分享、微信分享
原文链接: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
第七步:创建一个新的脚本挂载到相同的物体上,然后这样...
-
using cn.sharesdk.unity3d;
-
-
//定义ShareSDK
-
private ShareSDK shareSdk;
-
-
void Start()
-
{
-
//获取ShareSDK
-
shareSdk = GetComponent<ShareSDK>();
-
}
-
-
-
/// <summary>
-
/// 用户授权 QQ
-
/// </summary>
-
public void QQLogin()
-
{
-
//设置回掉函数
-
shareSdk.authHandler = AuthResultHandler;
-
//请求授权
-
shareSdk.Authorize(PlatformType.QQ);
-
}
-
-
/// <summary>
-
/// 授权回掉
-
/// </summary>
-
/// <param name="reqID"></param>
-
/// <param name="state"></param>
-
/// <param name="type"></param>
-
/// <param name="result"></param>
-
void AuthResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
-
{
-
switch (state)
-
{
-
case ResponseState.Success:
-
print("authorize success !");
-
Hashtable user = shareSdk.GetAuthInfo(PlatformType.QQ);
-
print(MiniJSON.jsonEncode(user));
-
break;
-
case ResponseState.Fail:
-
print("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]);
-
break;
-
case ResponseState.Cancel:
-
print("cancel !");
-
break;
-
}
-
}
第八步:设置分享(可以显示全平台分享和指定平台分享)
分享的时候需要传递很多的属性进去:

详解可以参考Demo.cs脚本(SDK里自带的)里面有常用的属性写法
还有一些不常用的属性请看:ShareContent.cs脚本
下面给一个示例代码:
-
//在Start初始化的时候设置回调
-
void Start()
-
{
-
//获取ShareSDK
-
shareSdk = GetComponent<ShareSDK>();
-
shareSdk.shareHandler = ShareResultHandler;
-
}
-
-
-
public void fenxiang__QQ() //QQ分享
-
{
-
ShareContent content = new ShareContent();
-
content.SetTitle("测试");
-
content.SetText("测试文本");
-
content.SetTitleUrl(
-
"https://www.gamersky.com/showimage/id_gamersky.shtml?http://img1.gamersky.com/image2019/07/20190725_ls_red_141_2/gamersky_042origin_083_2019725182972C.jpg");
-
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");
-
content.SetShareType(ContentType.Image);
-
shareSdk.ShareContent(PlatformType.QQ, content);
-
}
-
-
public void fenxiang_WX()
-
{
-
ShareContent content = new ShareContent();
-
content.SetTitle("标题");
-
content.SetText("内容");
-
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");
-
content.SetUrl("");
-
content.SetShareType(ContentType.Image);
-
shareSdk.ShareContent(PlatformType.WeChat, content);
-
}
-
-
//以下为回调的定义:
-
void ShareResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
-
{
-
myConsole.text += type.ToString();
-
switch (state)
-
{
-
case ResponseState.Success:
-
print("分享成功" + MiniJSON.jsonEncode(result));
-
break;
-
case ResponseState.Fail:
-
print("分享失败");
-
break;
-
case ResponseState.Cancel:
-
print("分享取消");
-
break;
-
}
-
}
上面的这种写法是指定平台分享:
如果将
shareSdk.ShareContent(PlatformType.QQ, content);
替换成:
ssdk.ShowPlatformList(null, content, 100, 100);
即可以显示全平台分享

其中分享传递的参数大家需要根据分享的平台来进行设定!
可以参考Demo.cs或者关注Mob的技术论坛:http://bbs.mob.com/forum.php
Unity接入ShareSDK实现QQ登录和QQ分享、微信分享的更多相关文章
- Android之第三方平台实现QQ登录和QQ分享
目前大多数APP都包含了第三方平台的登录,特别是QQ和微信,这篇博客主要讲的是如何实现QQ第三方平台实现QQ登录和分享功能,功能包含: 登录授权登录获取用户信息(昵称,头像,地址等) QQ分享给好友 ...
- laraval开发之QQ登录及QQ报错
1.composer安装依赖 2.在config/app.php中注册providers并添加Socialite门面 3.在app/Providers/EventServiceProcider.php ...
- 授权QQ登录的qq端前端页面变迁
ac_type = 'qq' if ac_type == 'qq': myid, mypwd = qq_key xp = '/html/body/div/div/div[2]/div/div/div/ ...
- 移动 App 接入 QQ 登录/分享 图文教程
移动 App 接入 QQ 登录/分享 图文教程 这里先要提两个平台,腾讯开放平台和 QQ 互联平台: (一)腾讯开放平台 官网地址:https://open.tencent.com/ 介绍:腾讯开放平 ...
- pc版qq登录及移动版qq登录的申请过程
1.在哪里接入? 网站接入QQ登录在QQ互联(https://connect.qq.com)上创建:移动应用也可以在QQ互联(https://connect.qq.com)上创建,但是不推荐如此 ...
- 我用Django搭网站(2)-QQ登录
接入QQ登录前,网站需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权. 第一步:准备阶段 打开QQ互联,并登录你的QQ账号.再点击导航上的" ...
- Moodle的qq登录版块的使用
在这篇Moodle的qq登录(QQ登陆)版块的使用教程中,我们假定你已经有了一个有域名,外网能访问的Moodle2.4+网站,并且数据库使用的是mysql. 我们将提供Moodle的QQ登录版块的下载 ...
- 如何从零开始对接第三方登录(Java版):QQ登录和微博登录
前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了QQ和微博这2大常用软件的一键登录,总的来说其实都挺简单的,可能会有一点小坑,但不算多,完整记录下来方便后来人快速对接. 后台设 ...
- DRF框架QQ登录功能
用户模块---QQ登录 流程图 QQ登录文档:http://wiki.connect.qq.com/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_oauth2-0 流程简述 ...
随机推荐
- 论文笔记:RankIQA
0.Abstract 本文提出了一种从排名中学习的无参考图像质量评估方法(RankIQA).为了解决IQA数据集大小有限的问题,本文训练了一个孪生网络,通过使用合成的已知相对图像质量排名的数据集来训练 ...
- copy和deep.copy
https://blog.csdn.net/qq_32907349/article/details/52190796 加上crossin公众号上的可变对象与不可变对象 a=[1,2,3,[4]] b= ...
- Map 实现类之一:HashMap
Map 实现类之一:HashMapHashMap是 Map 接口 使用频率最高的实现类.允许使用null键和null值,与HashSet一样,不保证映射的顺序.所有的key构成的集合是Set:无 ...
- [项目] 淘淘商城 Part.1
电商 市场 2013:79万笔/分钟 2014:13.4万亿,双11支付宝交易峰值285万笔/分钟 2015:50万亿 技术特点 一个Tomcat:500并发 分布式:上万并发 高并发.集群.负载均衡 ...
- CentOS 7.6 操作系统 安装指导书 (鲲鹏920处理器) 01
若需要手动调整预留内存大小,请参考如下配置进行调整. 以下以配置crashkernel为512M为例进行操作说明: 命令行执行命令vi /etc/default/grub,配置"crashk ...
- 使用chrony安装chrony
yum install chrony -y 使用chrony安装chrony 使用root用户登录~]# yum install chrony 默认的chrony进程位置/usr/sbin/c ...
- Python检查 文件备份是否正常 云备份进程是否正常运行
场景:服务器自动备份数据库文件,每两小时生成一个新备份文件,通过云备份客户端自动上传,需要每天检查是否备份成功. 实现:本脚本实现检查文件是否备份成功,进程是否正常运行,并且发送相关邮件提醒. #! ...
- 039.Python使用TCP实现多用户并发
使用TCP实现多用户并发 在前面的实验中,TCP建立连接时,只能允许一个用户连接,当第二个用户建立连接时,发送的信息,服务端是没有办法接受,只有当第一个用户退出时,才能接受到第二个用户的请求,并实现通 ...
- 云计算OpenStack---创建实例(11)
创建实例时,需要先创建网络及实例类型等其它配置: 一.创建虚拟网络(Self-service network) 网络概述图: 网络连接图: 1.创建self-service网络 (1)加载系统变量: ...
- 9.4-6 kill & killall & pkill
kill:终止进程 能够终止你希望停止的进程. kill 命令的参数选项及说明 -l 列出全部的信号名称 -p 指定kill命令只打印相关进程的进程号,而不发送任何信号 -s 指定要 ...