使用Firebase Cloud功能实施DeviceCheck

(这不是教程)

DeviceCheck是iOS 11引入的,它使开发人员可以检查用户是否处于四个自定义状态之一。 所有状态均由开发人员决定。 引入DeviceCheck是为了允许开发人员在所有开发人员的应用程序中正确识别和分类其用户,而无论用户是否删除了他们的任何应用程序。 有许多用途,但通常与货币化和社交有关。 如果您提供应用内新用户交易并希望确保用户无法删除,重新下载和再次访问该交易,则DeviceCheck是您的解决方案。 如果您提供社交应用程序,并且想要确保违反您条款的用户无法长时间访问您的服务(直到他们获得新手机),DeviceCheck是您的解决方案。

在DeviceCheck之前甚至今天,开发人员将在Apple的视野中实施一般或高度可斥责的识别用户的方法,其中最大的例子是Uber直到2017年左右。 一般的解决方案之一是为每个用户使用唯一的,但不是永久的,有时甚至是不存在的广告标识符。 另外,一些开发人员会将信息存储在钥匙串中,但是一旦删除该应用程序,该信息就会被删除。 高度谴责实际上涉及访问每部电话的唯一IMEI /序列。 DeviceCheck已成为各方的完美答案。 它为开发人员提供了永久性,但确保了隐私,使Apple和用户都感到高兴。 开发人员在实施它时遇到的问题。

DeviceCheck要求与Apple的服务器通信,这意味着您必须拥有一台服务器才能完全实现它。 对于在大型公司以外工作的开发人员,花时间了解实施情况可能没有吸引力。 实际上,实施可以非常简单,并且无服务器。 对于我自己的项目(社交),我之所以坚持不懈,是因为用户的质量对于应用程序的成功是不可商议的。

所需的只是Firebase Cloud Functions,Firebase数据库和Node.js。 实施DeviceCheck所花费的大量时间涉及熟悉JavaScript,请求承诺和Apple的错误代码。 因为不仅在服务器之间,而且在数据库之间都会有很多来回回响,所以逻辑确实不是那么简单。 但是,一旦完成,这无疑会让您感到无比的成就。

Interesting Posts