100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > shareSdk 新浪微博的登录分享测试

shareSdk 新浪微博的登录分享测试

时间:2023-04-21 09:57:07

相关推荐

shareSdk 新浪微博的登录分享测试

//todo … 待完善 …

using cn.sharesdk.unity3d;using System.Collections;using System.Collections.Generic;using UnityEngine;public class ShareSDKManager : MonoBehaviour {private static ShareSDKManager _instance;public static ShareSDKManager Instance{get{return _instance;}}[HideInInspector]public ShareSDK ssdk;// Use this for initializationvoid Start () {//单例_instance = this;//加载不销毁DontDestroyOnLoad(this.gameObject);//在ShareSDK的awake方法中做了初始化ssdk = GetComponent<ShareSDK>();//shareSDKUtils.InitSDK(appKey,appSecret); //初始化//跳转场景UnityEngine.SceneManagement.SceneManager.LoadScene(1);}}

using cn.sharesdk.unity3d;using System.Collections;using System.Collections.Generic;using UnityEngine;using working;public class Login : MonoBehaviour{ShareSDK ssdk;// Use this for initializationvoid Start(){//绑定单例的sdkssdk = ShareSDKManager.Instance.ssdk;//指定授权结果的回调函数ssdk.authHandler = OnAuthResultHandker;}//使用新浪微博账号登录public void OnSinaLoginBtn(){//检测指定的平台是否已经授权过了if (ssdk.IsAuthorized(PlatformType.SinaWeibo)){//提示 //将授权信息,写入到自定有的文件中 ... 查看授权信息内容...Tools.WriteFile(Application.persistentDataPath, "AuthInfo.data", ssdk.GetAuthInfo(PlatformType.SinaWeibo).toJson());Tools.MakeToast("微博用户:" + ssdk.GetAuthInfo(PlatformType.SinaWeibo)["userName"] + "授权成功");//跳转到游戏场景UnityEngine.SceneManagement.SceneManager.LoadScene(1);}else{//指定平台的授权ssdk.Authorize(PlatformType.SinaWeibo);}}public void ShareWeibo(){ShareContent content = new ShareContent();content.SetTitle("这是我的第一个试应用 ..."); //看起来没什么用content.SetText("我要分享到微博 ...."); //要分享的内容content.SetUrl("/czhenya"); //分享链接content.SetImageUrl("/czhenya");content.SetShareType(ContentType.Webpage); //分享类型ssdk.ShareContent(PlatformType.SinaWeibo, content);ssdk.shareHandler += OnAuthResultHandker;//添加回调}public void ShareImg() //试用未成功 .12.21{ShareContent content = new ShareContent();content.SetImageUrl(Application.dataPath + "czy.png");content.SetShareType(ContentType.Image);ssdk.ShareContent(PlatformType.SinaWeibo, content);ssdk.shareHandler += OnAuthResultHandker;}/// <summary>/// 回调函数/// </summary>/// <param name="reqID"></param>/// <param name="state">授权状态</param>/// <param name="type">授权平台类型</param>/// <param name="data">有关授权的数据</param>void OnAuthResultHandker(int reqID, ResponseState state, PlatformType type, Hashtable data){switch (state) //授权状态...{case ResponseState.Success: //授权成功//ssdk.GetAuthInfo(type); //授权信息//自行编写工具类,写为文件Tools.WriteFile(Application.persistentDataPath, "AuthResult.data", data.toJson());Tools.WriteFile(Application.persistentDataPath, "AuthInfo.data", ssdk.GetAuthInfo(type).toJson());Tools.MakeToast("微博用户:" + ssdk.GetAuthInfo(type)["userName"] + "授权成功");//登录UnityEngine.SceneManagement.SceneManager.LoadScene(1);break;case ResponseState.Fail: //授权失败//清空授权信息ssdk.CancelAuthorize(type);Tools.MakeToast("授权失败");break;case ResponseState.Cancel: //取消授权ssdk.CancelAuthorize(type);Tools.MakeToast("取消授权");break;default: break;}}}

using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;/// <summary>/// 工具类/// </summary>public class Tools {/// <summary>/// 写为文件/// </summary>/// <param name="path">路径</param>/// <param name="name">名称</param>/// <param name="info">信息</param>public static void WriteFile(string path, string name, string info){StreamWriter sw;FileInfo fi = new FileInfo(path + "/" + name);sw = fi.CreateText();sw.Close();sw.Dispose();}/// <summary>/// 读取文件/// </summary>/// <param name="path"></param>/// <param name="name"></param>/// <returns></returns>public static string ReadFile(string path, string name){StreamReader sr;FileInfo fi = new FileInfo(path + "/" + name);sr = fi.OpenText();string info = sr.ReadToEnd();sr.Close();sr.Dispose();return info;}//通过C# 代用Java代码 实现(类似再按一下退出)的吐司提示效果public static void MakeToast(string info){AndroidJavaObject currenActivity = new AndroidJavaObject("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");AndroidJavaClass Toast = new AndroidJavaClass("android.widget.Toast");currenActivity.Call("runOnUiThread", new AndroidJavaRunnable(() =>{Toast.CallStatic<AndroidJavaObject>("makeText", currenActivity, info, Toast.GetStatic<int>("LENGTH_LONG")).Call("show");}));}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。