维护用于注册我的应用帐户的单个设备

时间:2015-09-17 16:51:38

标签: android ios

我正在为iOS和Android应用程序设计一个带有注册电话号码的聊天应用程序。

我想确保这个号码和应用程​​序一次只能在一部手机上运行,​​如下所示,我想确保应用程序一旦通过身份验证到具有相同帐户详细信息的其他设备,就会禁用之前的设备。

1)app安装在一个iOS设备注册帐户上,并再次删除并重新安装在同一设备上 2)安装在iOS手机上的应用程序然后在Android应用程序上验证相同的帐户iOS手机应用程序应显示已禁用的帐户 3)安装在两个具有相同编号的Android手机上的app应自动禁用旧手机。

原因是我不想要运行相同号码的多个应用程序副本,以避免像whatsapp那样。

我正在考虑用于iOS和Android Mac Id用途的设备钥匙串,以便在Apple停止UDID广播到服务器之后解决这个问题。 关于这个供应商提供的苹果提供了一个模糊的想法。

任何人都可以就此提出建议。我怎么能实现这样的应用程序只在一部手机上运行相同的帐户,而其他只是停止。

2 个答案:

答案 0 :(得分:1)

如果您使用已注册的电话号码绑定应用,则它只能在一台设备上运行,因为您无法同时在1台以上的设备上运行相同的电话号码。从用户的角度来看,如果他在多个手机之间改变相同的数字,按照你的情况,这个应用程序阻止用户的先前设备,它听起来像一个永无止境的循环。每次用户的先前设备被阻止或者它可能导致阻止所有用户的设备。至少对我来说是不合理的。

答案 1 :(得分:-1)

以下方法用于获取设备ID

public static String getDeviceID(Context p_context) throws Throwable
{
    String m_deviceID = null;
    TelephonyManager m_telephonyManager = null;
    m_telephonyManager = (TelephonyManager) p_context
            .getSystemService(Context.TELEPHONY_SERVICE);

    m_deviceID = m_telephonyManager.getDeviceId().toString();

    if (m_deviceID == null || "00000000000000".equalsIgnoreCase(m_deviceID))
    {
        m_deviceID = "AAAAAAA";
    }

    return m_deviceID;
}

有关身份识别的更多信息,您可以read here