apicloud apicloud

注册
查看: 3807|回复: 15

[模块教程] [ 模块教程 ] clSDKShanYanSDKModule(免密登录)demo分享

主题:
1
帖子:
1
云币:
2

[模块教程] [ 模块教程 ] clSDKShanYanSDKModule(免密登录)demo分享

3807 15 | 发表于 2019-11-20 09:14:38 |阅读模式 | |
clSDKShanYanSDKModule 封装了创蓝闪验sdk。本模块带有界面,打开后为一个具有完整功能授权页面。支持国内三大运营商


创建应用

应用的创建流程及APPID的获取,请查看「账号创建」文档

注意:如果应用有多个包名或签名不同的马甲包,须创建多个对应包名和签名的应用,否则马甲包将报包名或签名校验不通过。


快速体验示例Demo

注:需运行真机到真机,安装SIM卡,打开手机流量开关,允许网络权限

  • 到闪验官网申请创建应用,提供包名包签名/bundleID,得到对应的appID/appKey
  • 搜索初始化方法shanyan.init,将appID换成自己的appid(appid安卓/iOS不同,分别与包名包签名/bundleID绑定)
  • 在模块管理中导入闪验离线插件或云插件
  • 在APP设置中上传对应包名包签名/bundleID的安卓iOS证书
  • 分别云打包安卓iOS自定义Loader
  • 手机安装自定义Loader,运行,设置自定义Loader的IP和端口,连接到APICloudStudio2示例工程
  • WIFI同步APICloudStudio2项目到自定义Loader

引用方式(Android&iOS)var shanyan = api.require('clSDKShanYanSDKModule')


Android部分
一、免密登录API使用说明1.初始化

使用一键登录功能前,必须先进行初始化操作。


调用示例


shanyan = api.require('CLSDKShanYanSDKModule')shanyan.init({appid:'loXN4jDs'},function(ret, err){       alert(JSON.stringify(ret));       console.log("callback---button--shanyanSdkInit========"+ret.code+"result===="+ret.result);      });



参数描述

参数

类型

说明

appId

String

闪验平台获取到的appId



返回参数含义如下:

字段

类型

含义

code

Int

code为1022:成功;其他:失败

result

String

返回信息




2.预取号
  • 建议在判断当前用户属于未登录状态时使用,已登录状态用户请不要调用该方法
  • 建议在执行拉取授权登录页的方法前,提前一段时间调用预取号方法,中间最好有2-3秒的缓冲(因为预取号方法需要1~3s的时间取得临时凭证
  • 请勿频繁的多次调用、请勿与拉起授权登录页同时和之后调用。
  • 避免大量资源下载时调用,例如游戏中加载资源或者更新补丁的时候要顺序执行


调用示例:


shanyan.preLogin(function(ret, err){                alert(JSON.stringify(ret));                console.log("callback---button--shanyanSdkGetPhoneInfo========"+ret.code+"result===="+ret.result);            });



返回参数含义如下:

字段

类型

含义

code

Int

code为1022:成功;其他:失败

result

String

返回信息


3.拉起授权页
  • 调用拉起授权页方法后将会调起运营商授权页面。已登录状态请勿调用 。
  • 每次调用拉起授权页方法前均需先调用授权页配置方法,否则授权页可能会展示异常。
  • 对应两个回调,一个是拉起授权页的回调,一个是点击一键登录的回调(包含返回键)

调用示例:

var param = {isFinish:true};            shanyan.openActivity(param,function(ret, err){                //alert(JSON.stringify(ret));                console.log("fff"+JSON.stringify(ret));            });


参数描述

字段

类型

含义

isFinish

boolean

点击授权页一键登录按钮有回调时是否自动销毁授权页:

true:自动销毁

false:不自动销毁,开发者需主动调用销毁授权页方法进行授权页销毁操作



当type=0时是拉起授权页回调(ret.type):

字段

类型

含义

code

int

code为1000:授权页成功拉起

其他:失败

result

String

返回信息



当type=1时是一键登录回调(ret.type):

字段

类型

含义

code

int

code为1011:点击返回按钮(包括物理返回键)

code为1000:点击一键登录获取token成功

其他:点击一键登录获取token失败

result

String

返回信息



当第二个回调外层code为1000时,result的返回为


{"token": ""}



含义如下:

字段

类型

含义

token

String

用来和后台置换手机号。一次有效。


4.销毁授权页

A.授权页面自动销毁

1.在授权登录页面,当用户主动点击左左上角返回按钮时,返回码为1011,SDK将自动销毁授权页;

2.安卓 SDK,当用户点击手机的硬件返回键(相当于取消登录),返回码为1011,SDK将自动销毁授权页

3.当用户设置一键登录或者其他自定义控件为自动销毁时,得到回调后,授权页面会自动销毁


B.授权页手动销毁

1.当设置一键登录为手动销毁时,点击授权页一键登录按钮成功获取token不会自动销毁授权页,请务必在回调中处理完自己的逻辑后手动调用销毁授权页方法。

2.当设置自定义控件为手动销毁时,请务必在回调中处理完自己的逻辑后手动调用销毁授权页方法。


调用示例


shanyan.finishAuthActivity();


5.置换手机号

当一键登录外层code为1000时,您将获取到返回的参数,请将这些参数传递给后端开发人员,并参考「服务端」文档来实现获取手机号码的步骤。


6.授权页界面配置

调用该方法可实现对三网运营商授权页面个性化设计,每次调用拉起授权页方法前必须先调用该方法,否则授权界面会展示异常。(三网界面配置内部实现逻辑不同,请务必使用移动、联通、电信卡分别测试三网界面



二、本机认证API使用说明

注:本机认证、免密登录可共用初始化,两个功能同时使用时,只需调用一次初始化即可。

1.初始化

同免密登录初始化


2.本机号校验

在初始化执行之后调用,本机号校验界面需自行实现,可以在多个需要校验的页面中调用。


调用示例:


  shanyan.startAuthentication(function(ret,err){              console.log("fff"+JSON.stringify(ret));            });



返回参数含义如下:


字段

类型

含义

code

int

code为2000:成功

其他:失败

result

String

返回信息



当外层code为2000时,result的返回为


{    "token":""}



含义如下:


字段

类型

含义

token

String

用来和后台校验手机号。一次有效。



3.校验手机号

当本机号校验外层code为2000时,您将获取到返回的参数,请将这些参数传递给后端开发人员,并参考「服务端」文档来实现校验本机号的步骤


iOS部分
前置条件
  • 闪验SDK支持Xcode 9.4.1,iOS8.0+及以上版本。
  • 闪验SDK支持中国移动、联通、电信4G的取号能力。
  • 闪验SDK支持网络环境为

a.纯数据网络

b.数据网络与wifi网络双开

  • 对于双卡手机,闪验SDK取当前流量卡号
一、免密登录API使用说明1.初始化
<script type="text/javascript" src="../script/api.js"></script>//模块加载let shanyan = api.require('CLSDKShanYanSDKModule')/**初始化*/shanyan.init(option: callBack



参数描述

[td]

参数
是否必填
类型
说明
option
appId
必填
String
闪验appID
callBack
ret,err
选填
function
初始化回调


所有回调统一形式:


function(ret, err) {      //iOS回调    if (err != null) {        //失败    } else {        //成功    }});



[td]

ret:包含所有信息

字段
类型
说明
code
Number
外层code
message
String
外层描述(概要)
data
Object
数据
errorCode
Number
内层code
errorDomain
String
外层描述
errorUserInfo
Object
错误详情


[td]

err:可能为空,不为空即失败

字段
类型
说明
errorCode
Number
内层code
errorDomain
String
外层描述
errorUserInfo
Object
错误详情


接口作用

初始化SDK :传入用户的appID,获取本机运营商,读取缓存,获取运营商配置,初始化SDK


使用场景

  • 建议在app启动时调用
  • 必须在一键登录前至少调用一次
  • 只需调用一次,多次调用不会多次初始化,与一次调用效果一致

2.预取号
/** * 预取号(获取临时凭证) * 建议在判断当前用户属于未登录状态时使用,已登录状态用户请不要调用该方法 */func preGetPhonenumber(callBack:function);



接口作用

电信、联通、移动预取号 :初始化成功后,如果当前为电信/联通/移动,将调用预取号,可以提前获知当前用户的手机网络环境是否符合一键登录的使用条件,成功后将得到用于一键登录使用的临时凭证,默认的凭证有效期10min(电信)/30min(联通)/60min(移动)。

使用场景

  • 建议在执行一键登录的方法前,提前一段时间调用此方法,比如调一键登录的vc的onLoad中,或者rootVC的rootVC中,或者app启动后,此调用将有助于提高闪验拉起授权页的速度和成功率
  • 不建议调用后立即调用拉起授权页方法(此方法是异步)
  • 此方法需要1~2s的时间取得临时凭证,因此也不建议和拉起授权页方法一起串行调用
  • 不建议频繁的多次调用和在拉起授权页后调用
  • 建议在判断当前用户属于未登录状态时使用,已登录状态用户请不要调用该方法


3.拉起授权页
//openLoginAuthListener:调起授权页回调shanyan.openLoginAuthListener(option:Object,callBack:function())    //oneKeyLoginListener:调起授权页成功,后续回调    shanyan.oneKeyLoginListener(option:Object,callBack:function());//调起授权页shanYanSDKModule.quickAuthLoginWithConfigure(clUIConfigure;



参数描述

[td]
参数
类型
说明
clUIConfigure 必填
CLUIConfigure
授权页控件属性配置对象
openLoginAuthListener选填
function
拉起授权页的回调,拉起页面成功失败均触发
oneKeyLoginListener 必填

function

一键登录回调,用于接收一键登录的结果,点一键登录成功失败均触发,点自带的返回按钮也触发

使用场景

  • 用户进行一键登录操作时,调用一键登录方法,如果初始化成功,SDK将会拉起授权页面,用户授权后,SDK将返回取号 token给到应用客户端。
  • 可以在多处调用
  • 需在调用预初始化方法之后调用

一键登录逻辑说明

  • 存在调用预初始化时获取的临时凭证,调用一键登录方法将立即拉起授权页面
  • openLoginAuthListener 拉起授权页监听回调,拉起成功或失败均触发
  • 不存在临时凭证或临时凭证过期时(临时凭证有效期电信10min、联通30min、移动60min),调用一键登录方法,将有一个很短的时延,待取号成功后拉起授权页面
  • 取号失败时,返回失败


一键登录 oneKeyLoginListenerResult:正确返回示例


{  "message":"获取联通token成功",  "data":    {      "token":"A2-7NA_jWQuN0XsJsZQOY8BtvdKtrhNK9QStebzzyzgh7ElebpB8xGy3rapp4yyxX8-VEVgMhiB3wO4P0PnCZNjtPAZO9KfeODdYxhgn5Qn8vnxOvgk4_Ov_39d56-v1p87-IcFHKlji4nhvCd1VmrxOSHx6KB6i6lZqFYqGgcbKfpG-yaGL6pcY4T9mbrtsOpbUhrdamE7eA1KaruyOdkL1SThGJZt_-8imf91EyrXckg="    },  "code":1000}




4.销毁授权页

A.授权页面自动销毁

1.在授权登录页面,当用户主动点击左左上角返回按钮时,返回码为1011,SDK将自动销毁授权页;

2.当用户设置一键登录或者其他自定义控件为自动销毁时,得到回调后,授权页面会自动销毁


B.授权页手动销毁

1.当设置一键登录为手动销毁时,点击授权页一键登录按钮成功获取token不会自动销毁授权页,请务必在回调中处理完自己的逻辑后手动调用销毁授权页方法。

2.当设置自定义控件为手动销毁时,请务必在回调中处理完自己的逻辑后手动调用销毁授权页方法。


调用示例


shanyan.finishAuthControllerCompletion();



5.置换手机号

当一键登录oneKeyLoginListenerResult 回调err为null时,您将获取到返回的参数,请将这些参数传递给后端开发人员,并参考「服务端」文档来实现获取手机号码的步骤。


6.授权页界面配置

调用该方法可实现对三网运营商授权页面个性化设计。(三网界面配置内部实现逻辑不同,请务必使用移动、联通、电信卡分别测试三网界面



配置字段名类型类型说明描述
clBackgroundImgString图片路径授权页-背景图片

clNavigationBarHiddenBooltrue/false导航栏 是否隐藏
clNavigationBackgroundClearBooltrue/false导航栏 背景透明
clNavigationBackBtnImageString图片路径导航栏左侧返回按钮图片
clNavigationBackBtnHiddenBooltrue/false导航栏自带返回按钮隐藏
clNavBackBtnAlimentRightBooltrue/false自带返回(关闭)按钮位置居右
clNavigationBottomLineHiddenBooltrue/false导航栏分割线 是否隐藏
clNavigationTintColorArray[r,g,b,a]导航栏 文字颜色
clNavigationBarTintColorArray[r,g,b,a]导航栏 背景色
clNavigationBackgroundImageString图片路径导航栏 背景图片
clNavigationShadowImageString图片路径导航栏 导航栏底部分割线(图片
clNavigationBarStyleNumber枚举值UIBarStyleBlack

clLogoImageString图片路径LOGO图片
clLogoCornerRadiusNumberfloatLOGO图片
clLogoHidenBooltrue/falseLOGO显隐
clPhoneNumberColorArray[r,g,b,a]手机号颜色
clPhoneNumberFontNumberfloat手机号字体
clPhoneNumberTextAlignmentNumber枚举值手机号对齐方式
clLoginBtnTextStringtext按一键登录钮文字
clLoginBtnTextColorArray[r,g,b,a]一键登录按钮文字颜色
clLoginBtnBgColorArray[r,g,b,a]一键登录按钮背景颜色
clLoginBtnTextFontNumberfloat一键登录按钮文字字体
clLoginBtnNormalBgImageString图片路径一键登录按钮背景图片
clLoginBtnHightLightBgImageString图片路径一键登录按钮背景高亮图片
clLoginBtnBorderColorArray[r,g,b,a]一键登录按钮边框颜色
clLoginBtnCornerRadiusNumberfloat一键登录按钮圆角
clLoginBtnBorderWidthNumberfloat一键登录按钮边框
clAppPrivacyColorArray[[r,g,b,a],[r,g,b,a]]隐私条款名称颜色:[基础文字颜色rgba,款颜色rgba] eg.[[1,0,1,1],[1,0.8,0.8,1]]
clAppPrivacyTextFontNumberfloat隐私条款文字字体
clAppPrivacyTextAlignmentNumber枚举值隐私条款文字对齐方式
clAppPrivacyPunctuationMarksBooltrue/false运营商隐私条款书名号
clAppPrivacyLineSpacingNumberfloat多行时行距
clAppPrivacyNeedSizeToFitBooltrue/false是否需要sizeToFit,设置后与宽高约束的冲突请自行考虑
clAppPrivacyAbbreviatedNameStringtext隐私条款--APP名称简写 默认取CFBundledisplayname 设置描述文本四后此属性无效
clAppPrivacyFirstArray[name,url]隐私条款一:需同时设置Name和UrlString
clAppPrivacySecondArray[name,url]隐私条款二:需同时设置Name和UrlString
clAppPrivacyNormalDesTextFirstStringtext描述文本一 default:"同意"
clAppPrivacyNormalDesTextSecondStringtext描述文本二 default:"和"
clAppPrivacyNormalDesTextThirdStringtext描述文本三 default:"、"
clAppPrivacyNormalDesTextFourthStringtext描述文本四 default: "并授权AppName使用认证服务"
clAppPrivacyWebBackBtnImageString图片路径隐私协议WEB页面导航返回按钮图片
clSloganTextFontNumberfloat运营商品牌标签文字字体
clSloganTextColorArray[r,g,b,a]运营商品牌标签文字颜色
clSlogaTextAlignmentNumber枚举值运营商品牌标签文字对齐方式
clCheckBoxHiddenBooltrue/false协议勾选框
clCheckBoxValueBooltrue/false协议勾选框默认值(默认不选中
clCheckBoxSizeArray[width,height]协议勾选框 尺寸
clCheckBoxImageEdgeInsetsArray[top,left,bottom,right]协议勾选框 UIButton.image图片缩进
clCheckBoxVerticalAlignmentToAppPrivacyTopBooltrue/false协议勾选框 设置CheckBox顶部与隐私协议控件顶部对齐
clCheckBoxVerticalAlignmentToAppPrivacyCenterYBooltrue/false协议勾选框 设置CheckBox顶部与隐私协议控件竖向中心对齐
clCheckBoxUncheckedImageString图片路径协议勾选框 非选中状态图片
clCheckBoxCheckedImageString图片路径协议勾选框 选中状态图片
clLoadingSizeArray[width,height]Loading 大小
clLoadingCornerRadiusNumberfloatLoading 圆角
clLoadingBackgroundColorArray[r,g,b,a]Loading 背景色
clLoadingTintColorArray[r,g,b,a]Loading Indicator渲染色
shouldAutorotateBooltrue/false是否支持自动旋转
supportedInterfaceOrientationsNumber枚举值支持方向
preferredInterfaceOrientationForPresentationNumber枚举值默认方向
clAuthTypeUseWindowBooltrue/false以窗口方式显示 default is NO
clAuthWindowCornerRadiusNumberfloat窗口圆角
clAuthWindowModalTransitionStyleNumber枚举值弹出方式
clOrientationLayOutPortraitObjectCLOrientationLayOut布局类(竖屏)
clOrientationLayOutLandscapeObjectCLOrientationLayOut布局类(横屏)



布局类:CLOrientationLayOut:

配置字段名类型
LOGO图片
clLayoutLogoLeftNumber
clLayoutLogoTopNumber
clLayoutLogoRightNumber
clLayoutLogoBottomNumber
clLayoutLogoWidthNumber
clLayoutLogoHeightNumber
clLayoutLogoCenterXNumber
clLayoutLogoCenterYNumber
手机号显示控件
clLayoutPhoneLeftNumber
clLayoutPhoneTopNumber
clLayoutPhoneRightNumber
clLayoutPhoneBottomNumber
clLayoutPhoneWidthNumber
clLayoutPhoneHeightNumber
clLayoutPhoneCenterXNumber
clLayoutPhoneCenterYNumber
一键登录授权按钮  【不得隐藏】
clLayoutLoginBtnLeftNumber
clLayoutLoginBtnTopNumber
clLayoutLoginBtnRightNumber
clLayoutLoginBtnBottomNumber
clLayoutLoginBtnWidthNumber
clLayoutLoginBtnHeightNumber
clLayoutLoginBtnCenterXNumber
clLayoutLoginBtnCenterYNumber
隐私条款Privacy【运营商隐私条款 不得隐藏, 用户条款不限制】
clLayoutAppPrivacyLeftNumber
clLayoutAppPrivacyTopNumber
clLayoutAppPrivacyRightNumber
clLayoutAppPrivacyBottomNumber
clLayoutAppPrivacyWidthNumber
clLayoutAppPrivacyHeightNumber
clLayoutAppPrivacyCenterXNumber
clLayoutAppPrivacyCenterYNumber
运营商品牌标签:"认证服务由中国移动/联通/电信提供
clLayoutSloganLeftNumber
clLayoutSloganTopNumber
clLayoutSloganRightNumber
clLayoutSloganBottomNumber
clLayoutSloganWidthNumber
clLayoutSloganHeightNumber
clLayoutSloganCenterXNumber
clLayoutSloganCenterYNumber
窗口模式
窗口中心
clAuthWindowOrientationCenterNumber
窗口左上角
clAuthWindowOrientationOriginNumber
窗口大小:宽
clAuthWindowOrientationWidthNumber
窗口大小:高
clAuthWindowOrientationHeightNumber

自定义控件

widgets:自定义控件允许自定义导航栏左侧和右侧按钮,将替换sdk自带的返回按钮。允许添加控件到授权页上。






widget

控件通用属性

widgetId

String

字符标记
type

String

自定义控件类型:Button:按钮,ImageView:图片 TextView:文本
backgroundColor

Array

控件背景色[r,g,b,a]
cornerRadius

Number

圆角,设置圆角时请设置masksToBounds:true
masksToBounds

Bool

圆角相关,设置圆角时请设置true

布局相关属性 通用 (相对授权页,全屏,从左至右,从上至下距离为正值,反之为负值)

clLayoutLeft

Number

控件与授权页左侧距离
clLayoutTop

Number

控件与授权页顶部距离
clLayoutRightNumber控件与授权页右侧距离,一般为负值
clLayoutBottom

Number

控件与授权页底部距离,一般为负值

clLayoutWidthNumber

控件宽度

clLayoutHeightNumber控件高度
clLayoutCenterXNumber控件与授权页水平中心偏移量,0:水平居中,正值:中心向右偏移,负值:中心向左偏移
clLayoutCenterY

Number

控件与授权页垂直中心偏移量,0:垂直居中,正值:中心向下偏移,负值:中心向上偏移


Button独有属性

navPosition

String

按钮位置,navleft:添加到导航栏左侧 ,navright:添加到导航栏右侧,不设置默认添加到授权页上,当设置为导航栏控件时,仅宽高可设置,位置固定在导航栏左右标准位置

textContent

String

文字 String

textFont

Number

字体大小

textColor

Array

文字颜色[r,g,b,a]

image

String

按钮左侧图片,非背景图,传图片路径

isFinish

Bool

点击后自动关闭授权页


TextView独有属性

textContent

String

文字 String

textFont

Number

字体大小

textColor

Array

文字颜色[r,g,b,a]

numberOfLines

Number

行数:默认单行, 0:无限,自动换行,其他:指定行数
textAlignment

Number

对齐方式,默认居左, 0: center 1: left 2: right


ImageView独有属性

image

String

背景图,传图片路径




二、本机认证API使用说明

注:本机认证、免密登录可共用初始化,两个功能同时使用时,只需调用一次初始化即可。

1.初始化

同免密登录初始化


2.本机号校验

在初始化执行之后调用,本机号校验界面需自行实现,可以在多个需要校验的页面中调用。


调用示例:


function startAuthentication() {    api.showProgress();    setTimeout(function() {        api.hideProgress();    }, 5000);    shanyan.startAuthentication(function(ret, err) {        api.hideProgress();        let platform = api.systemType;        if (platform == 'android') {            if (ret.code == 1000) {                //成功                api.alert({                    title: 'SDK获取Token成功',                    msg: JSON.stringify(ret.result.token),                });            } else {                //失败            }        } else if (platform == 'ios') {            if (err != null) {                //iOS error存在即为失败            } else {                //成功                api.alert({                    title: 'SDK获取Token成功',                    msg: JSON.stringify(ret.data.token),                });            }        }        api.toast({            msg: JSON.stringify(ret),            location: 'middle'        });         console.log(JSON.stringify(ret));    });}



返回参数含义如下:


字段

类型

含义

result

CLComplete

返回信息



当result.errorCode不为空时,返回为


{  "message":"本机号校验获取联通token成功",  "data":    {      "token":"A2-7NA_jWQuN0XsJsZQOY8BtvdKtrhNK9QStebzzyzgh7ElebpB8xGy3rapp4yyxX8-VEVgMhiB3wO4P0PnCZNjtPAZO9KfeODdYxhgn5Qn8vnxOvgk4_Ov_39d56-v1p87-IcFHKlji4nhvCd1VmrxOSHx6KB6i6lZqFYqGgcbKfpG-yaGL6pcY4T9mbrtsOpbUhrdamE7eA1KaruyOdkL1SThGJZt_-8imf91EyrXckg="    },  "code":1000}



含义如下:


字段

类型

含义

token

String

用来和后台校验手机号。一次有效。



3.校验手机号

当本机号校验获取到token时,请将token传递给后端开发人员,并参考「服务端」文档来实现校验本机号的步骤

三、返回码
外层返回码返回码描述
1000一键登录成功,解析result,可得到网络请求参数
1011用户取消免密登录(点击返回按钮)
1001SDK初始化失败
1023预取号/取号失败
1003拉起授权页失败/一键登录失败/获取token失败
1008未开启移动网络
1009未检测/识别到sim卡
其他其他错误

该返回码为闪验SDK自身的返回码,iOS返回码仅供参考,不建议用于代码逻辑判断,请注意1003及1023错误内均含有运营商返回码,具体错误在碰到之后查阅「返回码



Demo示例包:

本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

主题:
35
帖子:
4525
云币:
3388

圣诞节捣蛋鬼APICloud五岁啦

发表于 2019-11-20 11:03:39 |
感谢分享

职业车手

UID:436609

主题:
44
帖子:
1811
云币:
2479

足球狗

发表于 2019-11-20 13:40:03 |
感谢分享

主题:
0
帖子:
1
云币:
1
发表于 2019-12-11 22:23:49 |
安卓怎么设置隐私条款的颜色,setAppPrivacyColor 这个怎么设置都没效果啊。。

主题:
7
帖子:
23
云币:
30
发表于 2019-12-13 20:39:33 |
傻傻勇气 发表于 2019-12-11 22:23
安卓怎么设置隐私条款的颜色,setAppPrivacyColor 这个怎么设置都没效果啊。。

JSONObject setAppPrivacyColor; //设置隐私条款文字颜色,包含两个参数:1.基础文字颜色 2.协议文字颜色
  setAppPrivacyColor:{
       privacyBaseColor:'#ffffff',
       privacyColor:'#080808'
   }

主题:
5
帖子:
15
云币:
22
发表于 2019-12-19 16:54:43 |
本帖最后由 人身如戏 于 2019-12-19 16:57 编辑

按照您的方法,进行了初始化,但是进入页面之后,该模块报空,已添加模块到该应用,且重新自定义loader。请问,我是哪里没有配好吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

驾校小白

UID:598408

主题:
10
帖子:
48
云币:
48
发表于 2020-4-7 18:19:57 |
人身如戏 发表于 2019-12-19 16:54
按照您的方法,进行了初始化,但是进入页面之后,该模块报空,已添加模块到该应用,且重新自定义loader。请 ...

遇见跟你一样的问题,请问你是怎么解决的啊?我是安卓好好的,但是ios就是null

转正司机

UID:487014

主题:
101
帖子:
604
云币:
1062

圣诞节狗年旺旺旺捣蛋鬼

发表于 2020-6-22 10:13:34 |
人身如戏 发表于 2019-12-19 16:54
按照您的方法,进行了初始化,但是进入页面之后,该模块报空,已添加模块到该应用,且重新自定义loader。请 ...

同问题,请问有解决么

转正司机

UID:487014

主题:
101
帖子:
604
云币:
1062

圣诞节狗年旺旺旺捣蛋鬼

发表于 2020-6-22 10:16:53 |
IOS下,调用模块返回为null,请问有办法解决么

驾校小白

UID:641056

主题:
0
帖子:
17
云币:
15
发表于 2020-6-28 22:04:10 |
感谢分享
12下一页
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表