前段时间,二狗子的朋友圈被工信部发布的《关于下架侵害用户权益 App 名单的通报》给刷屏了。公告中指出有 90 款 App 未按照要求完成整改将会下架。而这 90 款 App 涉及全国各地教育、游戏、安全、新闻等诸多领域。同时通报中提到,有 5 家企业在 App 不同版本中反复出现同类问题,包括违规收集个人信息、强制用户使用定向推送功能、频繁过度强制索权、欺骗诱导用户下载等。工信部表示将依法暂停其违规行为,予以直接下架处理。

看到这则公告后,本着吃瓜心理,二狗子顺手去搜了一下这 5 家企业,发现他们已经纷纷发表了回应,表示平台排查后发现问题主要在于第三方 SDK 等方面。

其实这类第三方 SDK 插件违法调用手机信息的行为,早在 2020 年的 315 晚会上就被央视曝光过了,目前网络上也经常会出现这类新闻。

那为何 SDK 这么危险,软件厂商确还要频频使用呢?但是如果要说 SDK,那肯定离不开 API。

API 的出现

如果想较为详细的了解 API 大家可以阅读《白话科普,10s 了解 API》,这里就给大家简单介绍一下。

API 的全称是 Application Programming Interface,中文名为“应用程序接口”,一般是指一些服务厂商预先定义好的一组向外开放的方法。这些方法直接对应服务厂商的自家服务功能,方便应用程序或开发人员快速调用功能,而无需理解服务厂商工作机制的细节。例如用户如果使用了又拍云短信服务来开发短信发送的功能,那只要按照文档选择想要实现的功能,然后调用短信 API 接口来调用想用服务即可,并不需要知道短信如何传递给客户的技术细节。

SDK 的诞生

简单了解了 API,我们再回到本文最初所说的 SDK 上来。

所谓 SDK 其实是"软件开发工具包",即 Software Development Kit 的缩写。它一般是指通过第三方服务商实现产品功能的软件工具包。通常,SDK 是由专业的公司提供的,为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具集合。可以将移动支付技术、语音识别技术,或者存储技术等进行专业集合。它有效减少了开发者在新增功能时对产品每一项功能进行开发的时间。

和 API 一样,SDK 由服务厂商提供了,开发者只需要接入相关 SDK,然后做好相关功能接口的联调即可,至于底层逻辑、数据存储等等都不需要去考虑。

API 与 SDK 的区别

那么从结果上看都是让开发者使用三方服务功能的 API 和 SDK 到底有什么区别?为什么说 SDK 就离不开 API?

其实在更多场合下,API 更像是 SDK 的一个子集,这是因为:

  • API 通常是一个接口方法,有特定的功能;而 SDK 是一个很多功能的集合体,更像是一个工具包;

  • API 通常为单个数据接口的形象,SDK 则相当于一个工具环境,通常除了包含了服务的所有 API 功能;

  • SDK 相较于 API 封装层次更高。

为什么 SDK 经常翻车

目前因为各家服务商的提供功能越来越多,同时用户对于 App 的功能需求也逐渐增大,如果每一个功能都是自己开发,那时间和成本都无限延长。因此公司会更偏向选择第三方 SDK 工具包来实现这些功能。这就导致可能很多公司都在用同一个 SDK,一旦这个 SDK 出现了隐私泄露,那牵扯到的也不再仅是一家公司的 App。

那么,如何避开这样的隐私侵害呢?

对于开发商而言,要尽可能选择有一定市场基础的第三方 SDK,比如尽量使用苹果和谷歌商店里选用的 SDK 进行集成。

从个人层面来讲,在下载 App 时,最好选择恶意密度较低的应用商店,比如苹果的 App Store、安卓手机的官方应用商店,不要随意在网站上下载来历不明、未经审核的软件。同时面对安装 App 时弹出的各种权限申请,在给出自己的位置信息、手机通讯录等隐私权限之前一定要认真确认。

最后,国家也一直在政策层面上对此进行监管。要求网络运营者对接入其平台的第三方应用,应明确数据安全要求和责任,督促监督第三方应用运营者加强数据安全管理。

目前国内手机厂商也越来越重视用户隐私,推出“照明弹”等隐私保护功能。一旦这些 App 后台行为的调用逐渐清晰和明朗化,系统也愿意给出更多限制性手段后,守住自己的私密数据,大概就不会成为一个难题了。

接入 SDK 结果翻车了?了解 SDK 的那些事相关推荐

  1. Unity接入罗技G29方向盘,通过SDK获取按键信息

    Unity接入罗技G29方向盘,通过SDK获取按键信息 说明:   最近需要做一个外设汽车驾驶相关的软件,采用的外设 罗技G29方向盘,项目中遇到的问题这里记录一下. 项目准备:   1.下载罗技的S ...

  2. flutter/Android接入友盟、阿里百川SDK,打包APK后报无法加载arr库的坑

    刚接触flutter,边学边做.其实遇到的是两个坑,但看起来像是同个问题引起的,多么痛的领悟,基础不牢.解决问题流程不对太耽误时间了. 打包APK后报无法加载友盟arr库 有篇帖子说是启用压缩导致的, ...

  3. Unity同时接入ShareSdk和微派支付sdk(二)

    说明一下,我是首先接入了微派支付的sdk,在微派AndroidManifest.xml的基础上加入的sharesdk.本人仅仅接入sharesdk和微派sdk,其他sdk可能不能这么做,慎重! 在任意 ...

  4. android 360游戏sdk,360ssp sdk接入说明 360移送媒体平台Android SDK 接入说明

    360ssp sdk接入说明 360移送媒体平台Android SDK 接入说明 360ssp sdk接入说明 360移送媒体平台Android SDK 接入说明: Android SDK SDK版本 ...

  5. Unity接入AWS S3过程,AWS SDK for Unity 踩坑记录

    AWS S3,亚马逊的资源服务器服务,最近在研究这一块内容.记录一下踩坑的内容. 研究了AWS SDK for unity和AWS SDK for .net 两部分 unity很难接,主要原因是官方没 ...

  6. 提升普适性,阿里云官方SDK发布支持Go语言SDK

    摘要: 日前,阿里云官方SDK发布支持新语言--Go 语言SDK,意味着90%以上产品可以随时生成并发布Go SDK,给Go语言的开发者使用. 此次阿里云发布支持Go SDK的新功能,可以让Go语言开 ...

  7. python的sdk是什么意思_python sdk

    关于 python sdk的搜索结果 问题 命令行工具 CLI:用户指南:阿里云 Python SDK 列表 阿里云各产品对应的 Python SDK 如下所示. 产品Python SDK账号登录al ...

  8. 什么是美颜SDK?怎样选择美颜SDK?

    如今人们通过互联网就可以足不出户收获更多的知识.获取更多的讯息,同时也能得到更多快乐,例如直播和短视频平台.它们的竞相出场,让人们的视野得到了进一步开阔,同时也打造了"颜值经济". ...

  9. Unity和AndroidStudio交互制作SDK并和其他的SDK合并(微信APP支付)

    本案例使用的AndroidStudio版本为 171.4408382 Unity版本为 5.2.4f1 如果跟我一样是新手,就请先看我下面这篇文章 https://blog.csdn.net/weix ...

最新文章

  1. 使用Pygame制作微信打飞机游戏PC版
  2. java中如何调用自身结构_如何在Java中的自定义异常中设置我自己的消息,可以检索我的getMessage()但是没有使用构造函数,有什么办法吗?...
  3. 【Python】 linecache模块读取文件
  4. 北京python培训班价格-北京Python启蒙班
  5. 【数字信号处理】相关函数 ( 相关系数与相关函数 | 相关函数定义 )
  6. Java中console类的简单用法
  7. POJ1696 Space Ant
  8. Rsync+sersync同步配置
  9. 4g能用吗64java_java – 用于4G内存的JBoss 7内存配置,64位
  10. Android下常见的内存泄露 经典
  11. MATLAB函数使用记录1-plot/line/set
  12. 缓存与缓冲的区别 cache与buffer的区别
  13. 软件测试自学好还是培训好?软件测试自学与培训的优劣势对比
  14. mysql2008安装失败_SQL Server 2008 安装失败问题总结
  15. Latex多处引用同一脚注
  16. 【SLAM学习笔记】10-ORB_SLAM3关键源码分析⑧ Optimizer(五)sim3优化
  17. 矩阵求导公式的推导和计算(公式推导法)
  18. SDK是什么?与API有什么关系?
  19. MAC 强制退出程序
  20. 用计算机算出神奇的数,神奇的数字:12345679!先随便乘一个数字,最后乘9,奇迹出现了...

热门文章

  1. SpringBootAdmin监控信息讲解
  2. jvm_垃圾收集算法讲解(二)
  3. 总结apply和call方法的使用 bind方法 bind方法的使用 函数中的几个成员
  4. linux下设置定时任务,linux下定时任务设置
  5. 【java】动态绑定机制
  6. linux下开发python爬虫_linux入门教程—开发常用命令
  7. xcode 不能读取键盘输入的汉字_C++:cin从控制台读取数据时的结束符
  8. mysql sql优化书籍_MySQL SQL优化的正确姿势
  9. python 消息队列、异步分布式
  10. 未发先侃?对比华为,高通第二代5G调制解调器如何?