我一直在尝试找到一种方法来验证电话号码(Android 和 iPhone)而不使用 SMS 验证系统。原因纯粹是围绕成本。我想要一个免费的解决方案。
我可以安全地假设 Android 操作系统会为我提供用户的电话号码(无需验证),从而使其成为免费解决方案吗?iOS 怎么样?
感谢你的帮助。
Android允许您获取电话号码。您的应用将需要READ_PHONE_STATE
用户的许可。
然后很容易得到电话号码,如下所示:
TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
mPhoneNumber = tMgr.getLine1Number();
ios 不允许您获取用户的电话号码。他们认为这是一种安全风险。
一位尝试过此操作的开发人员收到了来自苹果的回复:
“出于安全原因,iPhone OS 将应用程序(包括其首选项和数据)限制在文件系统中的唯一位置。这种限制是被称为应用程序“沙箱”的安全功能的一部分。沙箱是一组精细的-粒度控制限制应用程序对文件、首选项、网络资源、硬件等的访问。”
设备的电话号码在您的应用程序容器中不可用。您需要修改您的应用程序,使其仅在您的目录容器中读取,并将您的二进制文件重新提交到 iTunes Connect,以便您的应用程序重新考虑在 App Store 中使用。
因此,您可能仍然需要使用 SMS 服务。祝你好运!