日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 验证 号码,本机号码校验

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 验证 号码,本机号码校验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本機號碼校驗

接入前準備

請聯系技術支持:文檔中心右側“技術咨詢” 開通權限。

配置SDK

如果您已經接入了一鍵登錄功能,那么可以跳過以下配置SDK步驟。

在接入本機號碼校驗之前,請先確認已經集成個驗SDK。下文使用到的資源文件,均可在官網下載的SDK資源包中獲得。調用一鍵認證接口前請先完成個驗SDK的接入與初始化。

maven接入方式

dependencies {

compile 'com.getui:gysdk:1.6.0.0'

compile 'com.getui:gtc:2.1.0'

//一鍵登錄擴展包

compile 'com.getui:elogin:1.1.0.0'

}

aar 包接入方式

(1)添加 aar包文件

將官網下載下來的 aar包 放置到項目的libs目錄下

(2)配置 build.gradle

defaultConfig {

....

}

repositories {

flatDir {

dirs 'libs'

}

}

dependencies {

// 添加個驗 aar 依賴,name與aar包的名字同步

compile(name: 'gysdk-1.6.0.0', ext: 'aar')

compile(name: 'gtc-2.1.0', ext: 'aar')

//添加一鍵登錄擴展包

compile(name: 'elogin-1.1.0.0', ext: 'aar')

}

混淆配置

-dontwarn com.g.gysdk.**-keep class com.g.gysdk.**{*;}-dontwarn com.g.elogin.**-keep class com.g.elogin.**{*;}-dontwarn com.cmic.sso.sdk.**-keep class com.cmic.sso.sdk.** {*;}-dontwarn com.geetest.onelogin.**-keep class com.geetest.onelogin.** {*;}-dontwarn com.geetest.onepassv2.**-keep class com.geetest.onepassv2.** {*;}-dontwarn com.unicom.xiaowo.login.**-keep class com.unicom.xiaowo.login.** {*;}-dontwarn cn.com.chinatelecom.**-keep class cn.com.chinatelecom.** {*;}

接口列表

API 類名: com.g.gysdk.GYManager

方法

功能說明

getVerifyToken

【本機號碼校驗】獲取本機號碼校驗通行證

verifyPhoneNumber

【本機號碼校驗】手機號碼校驗

cancelGetVerifyToken

【本機號碼校驗】關閉獲取本機號碼校驗通行證

本機號碼校驗

整體流程

本機號碼校驗需要先獲取通行證,然后再進行本機號碼校驗。

獲取本機號碼校驗通行證

/**

* 獲取本機號碼校驗通行證.

*

* @param phone 待校驗手機號碼.

* @param timeout 超時時間.

* @param gyCallBack 回調.

*/

public void getVerifyToken(String phone, int timeout, GyCallBack gyCallBack);

輸入參數

參數名稱

是否必填

類型

描述

phone

String

待校驗手機號碼

timeout

int

超時時間(建議8000ms-15000ms)

gyCallBack

GyCallBack

回調

調用示例

GYManager.getInstance().getVerifyToken(phone, 5000, new GyCallBack() {

@Override

public void onSuccess(final GYResponse response) {

try {

JSONObject jsonObject = new JSONObject(response.getMsg());

String accessCode = jsonObject.getString("accessCode");

String processId = jsonObject.getString("process_id");

int operatorType = jsonObject.getInt("operatorType");

String phone = jsonObject.getString("phone");

} catch (Throwable t) {

t.printStackTrace();

}

}

@Override

public void onFailed(GYResponse response) {

Log.d("onFailed", "response:" + response);

showToast(response.toString());

}

});

返回示例

通過GyCallBack返回結果.

GyCallBack:

public interface GyCallBack {

/**

* description:獲取成功.

*/

void onSuccess(GYResponse response);

/**

* description:獲取失敗.

*/

void onFailed(GYResponse response);

}

GYResponse返回示例:

//獲取成功

{

gyuid='cd529bfde4c641d0bc42257e2ed7300131',

success=true,

code=30000,

msg='{"process_id":"c9c27556b973d4b9c1f952795f02a2ef","accessCode":"nm360b88d6e1a64ac4b4d7e70776a35b2e","phone":"17768345313","operatorType":4}'

}

//獲取失敗

{

gyuid='8f41f31b0e7a43e6bbb4d1e6da77489b62',

success=false,

code=30007,

msg='{"msg":1,"process_id":"9dfbfce85f8214af57be674d2b1069b8","operatorType":"CU","clienttype":"1","errorCode":"-20205","metadata":{"resultCode":1,"resultMsg":"請求sdk超時","resultData":"","traceId":""}}'

}類 GYResponse 屬性詳細說明:

屬性

類型

屬性說明

gyuid

String

個驗用戶唯一標識

success

boolean

是否獲取成功

code

int

狀態碼,30000表示獲取成功

msg

String

獲取成功的時候,包含accessCode信息,驗證失敗的時候,為失敗詳細信息

GYResponse中msg詳細信息解釋:

預登錄成功時msg:

字段

必須

類型

解釋

process_id

String

流水號

accessCode

String

運營商返回的accessCode

phone

String

發往運營商的手機號

operatorType

int

運營商驗證類型,下一步校驗手機號需要用到該參數

預登錄失敗時msg:

當code為30007時,msg是具體的錯誤信息JSON字符串。其他情況為code的簡單說明,例如網絡異常。以下是code為30007時msg的詳細說明:

字段

必須

類型

解釋

errorCode

String

錯誤碼

msg

String

運營商返回的狀態信息

process_id

String

流水號

metadata

JSONObject

具體的錯誤原因

operatorType

String

客戶端獲取的運營商

clienttype

String

客戶端,1表示Android

本機號碼校驗接口

/**

*驗證本機號碼.

** @param accessCode 本機號碼校驗通行證.

*@param processId processId.

*@param phone 待校驗號碼.

*@param operatorType 運營商驗證類型.

*@param gyCallBack 回調.

*/

public void verifyPhoneNumber(String accessCode, String processId, String phone, int operatorType, GyCallBack gyCallBack);

我們還提供了服務端的本機號碼校驗接口,如果開發者有這方面的需求,請參考服務端的文檔。

輸入參數

參數名稱

是否必填

類型

描述

accessCode

String

本機號碼校驗通行證

processId

String

流水號

phone

String

待驗證號碼

operatorType

int

運營商驗證類型,由獲取本機號碼校驗通行證接口返回

gyCallBack

GyCallBack

回調

調用示例

GYManager.getInstance().verifyPhoneNumber(accessCode, processId, phone, operatorType, new GyCallBack() {

@Override

public void onSuccess(GYResponse response) {

showToast("校驗成功");

}

@Override

public void onFailed(GYResponse response) {

showToast("校驗失敗:" + response.getMsg());

}

});

返回示例

通過GyCallBack返回結果.

GyCallBack:

public interface GyCallBack {

/**

* description:驗證成功.

*/

void onSuccess(GYResponse response);

/**

* description:驗證失敗.

*/

void onFailed(GYResponse response);

}

GYResponse返回示例:

{

gyuid='cd529bfde4c641d0bc42257e2ed7300131',

success=true,

code=30000,

msg='成功'

}類 GYResponse 屬性詳細說明:

屬性

類型

屬性說明

gyuid

String

個驗用戶唯一標識

success

boolean

是否獲取成功

code

int

狀態碼,30000表示驗證成功

msg

String

返回碼說明

關閉獲取本機號碼校驗通行證

/**

* 關閉獲取本機號碼校驗通行證.

*/

public void cancelGetVerifyToken();

狀態碼

SDK返回碼

狀態碼

含義

30000

操作成功

30001

當前網絡環境不適合執行該操作

30004

其他錯誤

30005

預登錄失敗

30006

一鍵登錄失敗

30007

獲取本機號碼校驗token失敗

40047

一鍵登錄取號失敗

40053

手機號校驗失敗

錯誤碼

errorCode

Description

-20100

手機號未傳

-20101

app_id未傳

-20104

沒有預取號就進行取號

-20200

當前網絡不可用

-20201

當前手機沒有電話卡

-20202

當前沒有開啟流量

-20203

未獲取到運營商

-20204

獲取運營商錯誤

-20205

預取號超時

-20206

沒有預取號成功就進行取號

-20207

WIFI下請求切換網絡失敗

-20301

退出取號頁面

-20302

按返回鍵退出取號頁面

-20303

切換賬號登陸方式

-20304

授權頁面加載異常

-30200

SDK內部請求PreGateWay接口超時

-40101

移動運營商預取號失敗

-40102

移動運營商取號失敗

-40104

移動不支持的網絡制式

-40201

聯通運營商預取號失敗

-40202

聯通運營商取號失敗

-40204

聯通不支持的網絡制式(不支持2G)

-40301

電信運營商預取號失敗

-40302

電信運營商取號失敗

-40305

電信不支持的網絡制式(不支持2G, 3G)

-50100

服務接口返回異常

-50101

服務接口解密失敗

-50102

服務接口返回錯誤

其余情況請參考狀態碼匯總說明

常見問題

建議開發者在開發期間開啟debug模式,通過查看debug日志,可以更好的排查問題。

//在初始化之前調用

GYManager.getInstance().setDebug(true);

一鍵登錄和本機號碼校驗支持哪些運營商和網絡環境

目前支持移動 2G、3G、4G、5G,聯通 3G、4G、5G,電信 4G、5G

是否支持雙卡手機

支持,雙卡手機以開啟數據流量的 SIM 卡進行認證。

WIFI環境下能否驗證

在數據網絡開通的前提下,WiFi 環境中會強制使用數據網絡觸發網關請求,請求僅為幾K,可正常校驗。

是否支持攜號轉網用戶

SDK 不提供接口判斷用戶是否為攜號轉網用戶,但可以判斷用戶流量卡當前的運營商。即攜號轉網用戶可正常使用。

是否支持虛擬運營商

僅支持三大運營商(移動、聯通、電信)的手機號進行一鍵登錄。

是否支持流量卡

三大運營商(移動、聯通、電信)的卡,能夠正常使用數據網絡,運營商通過網關能夠正常取號,均會被作為正常的卡來判斷。

是否支持分屏顯示

目前一鍵認證不支持分屏幕顯示。

部分OPPO手機上預登錄失敗

部分OPPO手機上新安裝APP默認只有wifi網絡權限,默認沒有給予訪問移動數據流量的權限。需要用戶在設置中手動授予權限。開發者可以引導用戶開啟,有以下兩種方案:

引導手動設置權限:設置->雙卡與移動網絡->使用WLAN與移動網絡的應用->找到需要設置的APP->設置WLAN與移動數據即可

關閉WIFI,操作應用,會彈出使用移動網絡提醒,點擊設為允許,即可正常使用

總結

以上是生活随笔為你收集整理的android 验证 号码,本机号码校验的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。