Unity手游开发实现短信验证(SMSSDK)

在游戏开发中登录、修改密码等情况下往往需要使用短信验证

本文介绍在Unity中访问SMSSDK来实现短信验证这一功能

实现了在Android平台上运行,我已经上传了本文源码点击打开链接,大家可以下载参考学习(含APK、SMSDK)

大家也可以访问其官网来下载最新SMSSDK

准备开发环境

 

解压下载下来的SMSSDK,按下图路径将Plugins目录拖到Unity Asset目录下

 

 

按如下图步骤切换到Android平台下开发

 

 

接下来新建一个Scene,在Main Camera(可以选择其他游戏对象)下添加SMSSDK脚本组件

 

 

添加上需要填写App Key和App Serect,这个需要在官网注册获取,获取后填写进去

 

 

编写代码

 

新建一个C#脚本挂载到Main Camera上(其他对象也行)

using UnityEngine;  

using System.Collections;  

using UnityEngine.UI;  

using cn.SMSSDK.Unity;  

  

public class MySelfDemoText : MonoBehaviour ,SMSSDKHandler//实现接口,用于设置回调  

{  

    public InputField PhoneNumberInput;  

    public InputField VerificationInput;  

  

    public Text respText;  

    public Text MessText;  

  

    private SMSSDK smssdk;  

  

    private UserInfo userInfo;  

  

    private string phoneNum = "";  

    private string zone = "86";  

  

    private string appKey = "1d3d7e144fc11";  

    private string appSerect = "056678a6f8570d521368968e80d62b91";  

  

    // Use this for initialization  

    void Start ()   

    {  

        smssdk = GameObject.Find("Main Camera").GetComponent<SMSSDK>();  

        smssdk.init(appKey,appSerect,false);//初始化SDK  

  

        smssdk.setHandler(this);//设置回调,用户处理从客户端返回的信息  

  

        userInfo = new UserInfo();  

    }  

      

    // Update is called once per frame  

    void Update ()   

    {  

        if (Input.GetKeyDown(KeyCode.Escape))  

        {  

            Application.Quit();  

        }  

    }  

  

    public void OnBtnVerification()  

    {  

        phoneNum = PhoneNumberInput.text;  

        Debug.Log(phoneNum);  

        //通过手机号获取验证码  

        smssdk.getCode(CodeType.TextCode,phoneNum,zone);  

    }  

  

    public void OnBtnOK()  

    {  

        //提交验证码  

        smssdk.commitCode(phoneNum,zone,VerificationInput.text);  

    }  

  

    public void onComplete(int action, object resp)  

    {  

        ActionType act = (ActionType)action;  

        if (resp != null)  

        {  

            respText.text = resp.ToString();  

        }  

        if (act == ActionType.GetCode)  

        {  

            string responseString = (string)resp;  

            Debug.Log("isSmart :" + responseString);  

            MessText.text = "isSmart :" + responseString;  

        }  

        else if (act == ActionType.GetVersion)  

        {  

            string version = (string)resp;  

            MessText.text = "version :" + version;  

        }  

        else if (act == ActionType.GetSupportedCountries)  

        {  

  

            string responseString = (string)resp;  

            Debug.Log("zoneString :" + responseString);  

            MessText.text = "zoneString :" + responseString;  

  

        }  

        else if (act == ActionType.GetFriends)  

        {  

            string responseString = (string)resp;  

            Debug.Log("friendsString :" + responseString);  

            MessText.text = "friendsString :" + responseString;  

        }  

        else if (act == ActionType.CommitCode)  

        {  

  

            string responseString = (string)resp;  

            Debug.Log("commitCodeString :" + responseString);  

            MessText.text = "commitCodeString :" + responseString;  

  

        }  

        else if (act == ActionType.SubmitUserInfo)  

        {  

  

            string responseString = (string)resp;  

            Debug.Log("submitString :" + responseString);  

            MessText.text = "submitString :" + responseString;  

        }  

        else if (act == ActionType.ShowRegisterView)  

        {  

  

            string responseString = (string)resp;  

            Debug.Log("showRegisterView :" + responseString);  

            MessText.text = "showRegisterView :" + responseString;  

        }  

        else if (act == ActionType.ShowContractFriendsView)  

        {  

  

            string responseString = (string)resp;  

            Debug.Log("showContractFriendsView :" + responseString);  

            MessText.text = "showContractFriendsView :" + responseString;  

        }  

    }  

  

    public void onError(int action, object resp)  

    {  

        Debug.Log("Error :" + resp);  

        respText.text = resp.ToString();  

    }  

}  


最后将其打包成APK,需要做下如下图修改

 

之后便能在Android上接收短信并完成验证

源码地址:

http://download.csdn.net/detail/qq_33747722/9822154

发布了28 篇原创文章 · 获赞 3 · 访问量 6512
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览