fusionAAS手游实名认证和防沉迷系统的Android SDK对接Demo

关联项目

本Demo是fusionAAS项目的Android客户端使用Demo

Demo文件

1. 资源导入

1.1 Android Studio资源导入

a) 拷贝fusion_anti_addiction_sdk-release.aar文件到lib目录。

b) 配置项目app的build.gradle文件

android {

//...

repositories {

flatDir {

dirs 'libs'

}

}

}

dependencies {

// ...(其他依赖)

implementation (name: 'fusion_anti_addiction_sdk-release', ext: 'aar')

}

1.2 Eclipse资源导入

拷贝libs和assets下的文件到项目对应文件夹中即可。

1.3 资源特别说明

a) 当项目targetVersion > 28时候,将文件夹xml中对应的文件(network_security_config.xml)拷贝至项目res目录下的xml文件夹中(若没有xml文件夹则在项目res的目录下新建)

b) 在AndroidManifest.xml文件中的application标签下添加属性android:networkSecurityConfig="@xml/network_security_config"

如图:

2. 权限和Activity配置

2.1 权限列表

如果项目本身已经添加过这些权限,则无需再重复添加。

2.2 Activity添加

android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"

android:configChanges="keyboardHidden|orientation|screenSize">

注意,游戏的主Activity需要添加属性android:configChanges="keyboardHidden|orientation|screenSize"

如图:

2.3 META添加

这里添加当前防成迷系统的自定义域名,请将我们提供的开源版的fusionAAS部署到正式环境,并将系统的域名填入到META值中。

3. 方法调用

3.1 初始化

/**

* 初始化方法,必须第一时间调用

* @param appId 平台分配的应用id

* @param context 当前上下文(Activity)

*/

public void initSdk(String appId, Activity context);

该方法默认使用系统控制弹出实名认证和实名认证页面为全屏。

/**

* 初始化方法,必须第一时间调用

* @param appId 平台分配的应用id

* @param context 当前上下文(Activity)

* @param mode 实名制启动模式

* @param screen 实名制弹出样式

*/

public void initSdk(String appId, Activity context, int mode, String screen);

mode参数有两种:

FusionAntiMode.LanchType.MODE_DEFAULT //由系统自己控制弹出实名制界面

FusionAntiMode.LanchType.MODE_CUSTOMER //由游戏自己控制弹出时间,调用对应方法

screen参数有两种:

FusionAntiMode.ScreenType.SCREEN_DEFAULT //全屏显示实名制窗口

FusionAntiMode.ScreenType.SCREEN_MINI //选择mini窗口弹出

3.2 注册监听

FusionAntiSdk.getInstance().setRealNameListener(new IRealNameCallback() {

@Override

public void AllowLogin() {

Log.e(TAG,"AllowLogin call");

Toast.makeText(MainActivity.this,"允许登录",Toast.LENGTH_SHORT).show();

}

@Override

public void ForbidLogin(String msg) {

Log.e(TAG,"ForbidLogin call = "+msg);

Toast.makeText(MainActivity.this,"不允许登录",Toast.LENGTH_SHORT).show();

}

@Override

public void OffLine(String msg) {

Log.e(TAG,"OffLine call = "+msg);

Toast.makeText(MainActivity.this,"已经踢线",Toast.LENGTH_SHORT).show();

}

@Override

public void AllowPay() {

Log.e(TAG,"AllowPay call");

Toast.makeText(MainActivity.this,"允许支付",Toast.LENGTH_SHORT).show();

}

@Override

public void ForbidPay(String msg) {

Log.e(TAG,"ForbidPay call = "+msg);

Toast.makeText(MainActivity.this,"不允许支付",Toast.LENGTH_SHORT).show();

}

//以下方法只用CP主动调用实名制认证方法时候才有回调

@Override

public void BindSuccess() {

Log.e(TAG,"BindSuccess call");

Toast.makeText(MainActivity.this,"实名制绑定成功",Toast.LENGTH_SHORT).show();

}

@Override

public void BindFail(String msg) {

Log.e(TAG,"BindFail call = "+msg);

Toast.makeText(MainActivity.this,"实名制绑定失败",Toast.LENGTH_SHORT).show();

}

});

3.3 获取当前用户的实名制信息

FusionAntiSdk.getInstance().getRealNameState(uid);

参数1:账户的唯一标识

在游戏完成账号登录。准备进入游戏时候调用

3.4 验证当前用户是否可以支付

FusionAntiSdk.getInstance().checkMoneyLimit(uid, Float.valueOf(money));

参数1:账户唯一标识(和登录时候保持一致)

参数2:金额(元)

在用户点击任何支付下单前调用

3.5 上报充值记录

FusionAntiSdk.getInstance().sendCharge(uid, itemId, Float.valueOf(money));

参数1:账户唯一标识(和登录时候保持一致)

参数2:商品id

参数3:金额(元)

在用户完成支付,游戏客户端收到支付成功时候上报

3.6 注销

FusionAntiSdk.getInstance().logout();

注销当前用户,在游戏注销或者切换账号时候调用

3.7 Activity方法重写

FusionAntiSdk.getInstance().onActivityResult(requestCode, resultCode, data);

在游戏主Activity中重写即可

android开发实名认证弹窗,fusionAAS-android-demo相关推荐

  1. android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...

    本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1   Android Studio配置 2.1.1 ...

  2. Android开发介绍(基于Android Studio软件)

    Android开发介绍(基于Android Studio软件) 关于Android开发,笔者走过一些弯路,因此今天总计了有关Android开发的一些内容和心得,希望对大家有所帮助.首先来一张安卓开发者 ...

  3. android开发,加法,上课写的demo

    个人blog网站 前言:写错了思路,没按照老师的要求写,但是可以用 ps:文章排版可能会出错,毕竟是用别人的框架 ps:用的时候记着改一下包名 MainActivity.java: package c ...

  4. Android开发之深入理解Android Studio构建文件build.gradle配置

    通过这篇文章的学习,你会对build.gradle文件有一个全新的认识,可以将TeachCourse文章提到的相关说明作为文档参考,方便在另一个module中引入,代码如下: apply plugin ...

  5. 国内android开发之墙痛,Android面试题-机型适配之痛,例如三星、小米、华为、魅族等。...

    自定义控件 联网 工具 数据库 源码分析相关面试题 Activity相关面试题 Service相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试 ...

  6. Android开发技巧!高级Android晋升之View渲染机制,Android篇

    前言 众所周知,Xamarin应该是.net下的跨平台开发工具.2016年之前还处于收费状态,后被微软收购后开源.但似乎有个现象,开源后的Xamarin发展似乎有些停滞,而且维护Xamarin的团队又 ...

  7. Android开发知识体系!Android面试吃透这一篇就没有拿不到的offer!挥泪整理面经

    1.项目介绍 Flutter是目前比较流行的跨平台开发技术,凭借其出色的性能获得很多前端技术爱好者的关注,比如阿里闲鱼,美团,腾讯等大公司都有投入相关案例生产使用. 基于Flutter+Dart+ch ...

  8. Android开发基础:利用 Android Studio开发看美女应用(4)

    利用 Android Studio开发看美女应用 今天我们会利用 Android Studio开发一个简单的看美女应用,通过它查看互联网上的美女图片.通过本篇文章,你将会学到Android应用简单开发 ...

  9. android开发重要控件,Android界面编程——Android基本控件

    Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员 ...

最新文章

  1. mariadb自动安装脚本
  2. 构筑企业虚拟桌面应用环境-使用VMware VDI为企业统一提供虚拟桌面环境(上)
  3. 插值法补齐缺失数据_关于数据清洗的常见方式
  4. OpenGL之深入解析渲染架构和数据传递
  5. k3 审核流程图_K3操作流程图
  6. mysql 序列化存储_如何将类序列化并直接存储入数据库
  7. 数据科学近3年都应用在哪些领域?
  8. 管理感悟:人事问题不能拖,必须立即处理
  9. atmega 128 单片机 开发 例子 例程 教程 ADC PWM 呼吸灯
  10. 你真的懂智慧园区数字平台?快来看看吧
  11. 打补丁patch 命令使用
  12. 怎样用网址查询微信公众号的二维码
  13. 家用 NAS 服务器搭建 | 前篇
  14. Docker入门指令
  15. ssim算法计算图片_图像质量评估算法 SSIM(结构相似性)
  16. 湘潭大学c语言作业系统学生端,作业收发系统学生端使用说明
  17. Qt移植bsdiff算法计算差分文件
  18. 操作系统win7与win10的区别介绍
  19. OpenHarmony编译
  20. 使用SQL4Automation让CodeSYS连接数据库

热门文章

  1. opc服务器不稳定的原因,OPC Client和OPC Server容易出现通讯故障,原因是什么?
  2. win 10 如何删除需要获取管理员权限的文件和退出安全模式
  3. 2018年秋季校招投递记录
  4. 【云原生之Docker实战】使用docker部署Memos碎片化知识管理工具
  5. MEMOS 技术支持
  6. 如何用代码在Excel中实现单元格内换行
  7. 几何光学中近轴光学与高斯光学的区别
  8. App 瘦身的七种方法
  9. Windows系统中如何将C盘划分为多个盘符的详细图文教程
  10. 那些免费低价云主机真的可以永久使用吗?别再被套路了 盐谷君 上海盐谷 今天