uniapp打包Android跟iOS禁用录屏截屏

打印 上一主题 下一主题

主题 800|帖子 800|积分 2400

1.禁用截屏和录屏的目的

   
保护敏感信息:防止用户截屏或录屏分享应用中的敏感信息,如个人隐私数据、金融信息、商业机密等。

   
版权保护:保护应用中的版权内容,如视频、图片、文本内容,防止未经授权的复制和流传。

   
数据安全:防止恶意用户利用截屏或录屏功能进行信息偷取,增加应用的数据安全性。

   
用户体验:在某些场景下(付费内容),防止用户通过截屏或录屏功能作弊或非法获取内容。

   2.实现方法

   
使用uni.setUserCaptureScreen API,可以监听截屏录屏操作并进行相应处理。

   

  • 导入api
   
在 App 平台本 API 是 uni ext api,需下载插件:uni-usercapturescreen

   

   2.代码实现

   
页面(组件)里面使用

  
  1. <template>
  2.   <view>
  3.     <!-- 你的页面内容 -->
  4.   </view>
  5. </template>
  6. <script>
  7. import { onMounted, onBeforeUnmount } from 'vue';
  8. export default {
  9.   setup() {
  10.     const restrictScreenshot = () => {
  11.       uni.setUserCaptureScreen({
  12.         enable: false,
  13.         success() {
  14.           console.log('截屏录屏功能已禁用');
  15.         },
  16.         fail(err) {
  17.           console.error('禁用截屏录屏功能失败', err);
  18.         }
  19.       });
  20.     };
  21.     const allowScreenshot = () => {
  22.       uni.setUserCaptureScreen({
  23.         enable: true,
  24.         success() {
  25.           console.log('截屏录屏功能已启用');
  26.         },
  27.         fail(err) {
  28.           console.error('启用截屏录屏功能失败', err);
  29.         }
  30.       });
  31.     };
  32.     onMounted(() => {
  33.       restrictScreenshot(); // 在页面加载时禁用截屏和录屏
  34.     });
  35.     onBeforeUnmount(() => {
  36.       allowScreenshot(); // 在页面卸载前启用截屏和录屏
  37.     });
  38.     return {};
  39.   }
  40. }
  41. </script>
复制代码
  
要是想要全局禁用的话可以直接在app.vue里面调用禁用 不消取消禁用

  
  1. <template>
  2.   <view>
  3.     <router-view></router-view>
  4.   </view>
  5. </template>
  6. <script>
  7. import { onMounted } from 'vue';
  8. export default {
  9.   setup() {
  10.     const restrictScreenshot = () => {
  11.       uni.setUserCaptureScreen({
  12.         enable: false,
  13.         success() {
  14.           console.log('全局截屏录屏功能已禁用');
  15.         },
  16.         fail(err) {
  17.           console.error('全局禁用截屏录屏功能失败', err);
  18.         }
  19.       });
  20.     };
  21.     onMounted(() => {
  22.       restrictScreenshot(); // 在应用启动时禁用截屏和录屏
  23.     });
  24.     return {};
  25.   }
  26. }
  27. </script>
复制代码
  

   

  • 真机调试
   Android

   

   
然后运行到Android APP基座就可以调试

   iOS

   

   
然后运行到iOS APPiOS需要打自定义调试基座 使用标准基座运行的话调试不了

   
首先去苹果开辟者证书申请开辟者证书

   
然后

   

   
会有一个选择证书的地方 选择完插上手机点击运行就可以调试

   

   

  • 实现的水平
   
Android:可以实现截屏有提示 录屏的时候录到禁用录屏的页面时是黑色的

   
iOS:不能截屏 录屏的时候录到禁用录屏的页面时是黑色的

   

   

   4.长处

   
提升安全性:有效防止用户截屏和录屏,提高了应用的安全性,保护了敏感信息。

   
保护版权:防止未经授权的内容流传,保护了开辟者和内容提供者的版权利益。

   
低落风险:减少信息走漏的风险,提升用户对应用的信托度和使用安全感。

   5.缺点

   
用户体验受影响:禁用截屏和录屏大概会影响用户体验,特殊是对于习惯使用截屏功能的用户。

   
技术限制:在一些装备或操作系统上,大概无法完全禁用截屏和录屏,存在技术实现上的局限性。

   
可绕过:技术上仍存在被绕过的大概性,例如通过外部装备录屏或拍摄屏幕,无法完全杜绝信息走漏。

   总结

   
禁用截屏和录屏功能可以有效保护应用中的敏感信息和版权内容,提高数据安全性。虽然大概会对部分用户体验产生影响,但在安全性要求较高的应用场景中,这一功能仍然是非常必要和有价值的。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

海哥

金牌会员
这个人很懒什么都没写!

标签云

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