热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

eSDKBYODIOS防截屏功能实际应用(截屏审计)

出处:http:developer.huawei.comictforumthread-22575.html由于安卓和IOS系统的差异,eSDK对安卓提供了应用级针对

出处:http://developer.huawei.com/ict/forum/thread-22575.html

由于安卓和IOS系统的差异,eSDK对安卓提供了应用级针对activity的防截屏接口,可以方便的包含企业应用防止截屏操作。但是受IOS系统限制,无法支持应用级别的防截屏。唯一可以实现防截屏的办法就是去苹果制作配置文件禁用截屏功能(注意,这是系统级的防截屏,只要安装该配置文件后,手机整个系统将无法截屏)。因此在实际项目中,IOS防截屏很少会使用。取而代之的是应用通过增加水印和做截屏审计功能进行代替。水印的接口使用说明可以参考前一份帖子(eSDK BYOD水印功能使用说明)。本文重点介绍截屏审计的使用方法。

iOS eSDK提供应用截屏审计日志上报功能。当用户在iOS设备上使用eSDK应用时执行了截屏动作,相关的操作信息将会被立即上传到后台。相关操作信息包括截屏设备基本信息、截屏的eSDK应用名称、截屏图片、截屏描述等。其中,截屏描述默认为当前截图界面的类名,如“DocumentViewController”。为了让截屏描述信息更加直观易懂,iOS eSDK提供截屏事件通知接口,当用户截屏时,eSDK通过代理通知应用并携带当前界面的类名,应用负责将截屏界面的类名转换为截屏描述或界面相关业务信息回传给eSDK,替换默认记录的类名。如下图所示:


1.1 截屏事件通知协议定义


截屏时间通知协议定义在头文件SDKMdm.h

@protocolSDKMdmDelegate

@optional

 
//截屏事件回调函数定义:

-(NSString*)didReceivedScreenShotEvent:(NSString *)className;

@end

 
参数说明:
 


  

名称



  
  

长度



  
  

示例



  
  

必输/选输



  
  

说明



  
  className

  
  无

  
  DocumentViewController

  
  必输

  
  由eSDK传入参数。表示当前截图所在的类的名称

  

 
返回值:
 

应用需返回当前类的描述给eSDK。如果返回空则使用类名作为默认值。


 

 

 

示例代码:


 

AppDelegate.h


 


  #import

  #import "sdkmdm.h"

  @interface AppDelegate : UIResponder  

  @property (strong, nonatomic) UIWindow  *window;

  @end

  

 

 

AppDelegate.m


 


  

- (BOOL)application:(UIApplication *)application  didFinishLaunchingWithOptions:(NSDictionary *)launchOptions



  

{



      [[SDKMdm  getInstance] setDelegate:self];  //应用启动时设置截屏代理 

      return YES;

  }

   
  //由应用实现此协议,例如

  -(NSString *)didReceivedScreenShotEvent:(NSString *)className

  {

      NSString *description;

      if([className  isEqualToString:@"SecWebViewController"])

      {

          description =  @"安全浏览器";

   
      }

      else if([className  isEqualToString:@"DocumentViewController"])

      {

          description =  @"文档浏览";

          

      }

      else if([className  isEqualToString:@"MenuViewController"])

      {

          description =  @"菜单";

      }

      return   description; //返回描述

  }

  

 


  

注意:截屏审计功能在SDK初始化后有效。


 

 


1.2 截屏审计开关


应用可以自定义是否开启截屏审计,默认为开启状态。注意:后台有安全审计日志开关,截屏审计属于安全日志审计。若后台未开启安全日志审计,应用即使设置开启截屏审计也是无效的。只有当后台开启了截屏日志审计,应用才能自定义开启或关闭截屏审计。

应用可通过以下eSDK接口开启或关闭截屏审计。接口定义于头文件SDKMdm.h中。

 
接口定义:

//开启截屏审计

-(void)startScreenShotAuditing;

//关闭截屏审计

-(void)stopScreenShotAuditing;

 
示例代码:
 


   
  [SDKMdm  getInstance] startScreenShotAuditing]; //开启截屏审计

  [SDKMdm  getInstance] stopScreenShotAuditing]; //关闭截屏审计

   
  

 


 


推荐阅读
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
author-avatar
月光下大手拉S小手
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有