在游戏开发中登录、修改密码等情况下往往需要使用短信验证
本文介绍在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