标签:按钮 用户 技术 isp hresult click cli object this
using cn.sharesdk.unity3d; using UnityEngine; public class ShareSDKManager : MonoBehaviour { private static ShareSDKManager _instance; public static ShareSDKManager Instance { get { return _instance; } } [HideInInspector] public ShareSDK ssdk; void Start () { _instance = this; DontDestroyOnLoad(gameObject); ssdk= gameObject.GetComponent<ShareSDK>(); // ShareSDK.Awake()中已经执行了shareSDKUtils.InitSDK(appKey,appSecret)初始化操作,这里是否写初始化可随意 // 初始化完成后,跳转场景 UnityEngine.SceneManagement.SceneManager.LoadScene(1); } }
using cn.sharesdk.unity3d; using System.Collections; using UnityEngine; using UnityEngine.SceneManagement; public class Login : MonoBehaviour { ShareSDK ssdk; void Start () { ssdk= ShareSDKManager.Instance.shareSDK; ssdk.authHandler = OnAuthResultHandler; // 授权结果的回调函数 } // 用新浪微博登录 public void OnSinaLoginButtonClick() { if (ssdk.IsAuthorized(PlatformType.SinaWeibo)) // 检测指定的平台是否已经授权过了 { // 获得授权信息 Utility.WriteFile(Application.persistentDataPath, "AuthInfo.txt", ssdk.GetAuthInfo(PlatformType.SinaWeibo).toJson()); // 进入下一场景 SceneManager.LoadScene(2); } else // 指定的平台尚未授权,给它授权 { ssdk.Authorize(PlatformType.SinaWeibo); } } /// <summary> /// 授权结果的回调函数 /// </summary> /// <param name="reqID"></param> /// <param name="state">授权状态:成功,失败,取消</param> /// <param name="type">授权平台类型</param> /// <param name="data">返回的数据</param> void OnAuthResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable data) { switch (state) { case ResponseState.Begin: break; case ResponseState.Success: // data数据写入文件 Utility.WriteFile(Application.persistentDataPath, "AuthData.txt", data.toJson()); // 获得授权信息 Utility.WriteFile(Application.persistentDataPath, "AuthInfo.txt", ssdk.GetAuthInfo(PlatformType.SinaWeibo).toJson()); // 进入下一场景 SceneManager.LoadScene(2); break; case ResponseState.Fail: case ResponseState.Cancel: // 失败或取消要清除指定平台的授权信息 ssdk.CancelAuthorize(type); break; case ResponseState.BeginUPLoad: break; default: break; } } }
using System.IO; /// <summary> /// 读写文件的工具类。 /// 用于查看ShareSDK授权时返回的data中有哪些数据。 /// </summary> public static class Utility { public static void WriteFile(string path, string name, string info) { StreamWriter writer; FileInfo fi = new FileInfo(path + "/" + name); writer = fi.CreateText(); writer.WriteLine(info); writer.Close(); writer.Dispose(); } public static string ReadFile(string path, string name) { StreamReader reader; FileInfo fi = new FileInfo(path + "/" + name); reader = fi.OpenText(); string info = reader.ReadToEnd(); reader.Close(); reader.Dispose(); return info; } }
标签:按钮 用户 技术 isp hresult click cli object this
原文地址:https://www.cnblogs.com/guxin/p/unity-sharesdk-login-demo.html