邀请联系人列表中的选项

时间:2019-02-15 05:14:57

标签: android mobile-application invite

我在应用程序中注册了手机号码,就像在whatsapp中注册一样。现在,如果我的联系人列表中的人未注册,我想在应用程序的联系人列表中显示邀请选项。

当前,我正在发送我的所有联系人以与php数据库匹配并返回每个联系人的状态。但是现在playstore拒绝了我的应用程序,因为它涉及通过API上传用户的私人数据。因此,如何在我的应用程序中实现它。还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

如果不需要,请勿将纯文本联系人信息发送到您的后端。 对于您的用例,您可以使用哈希联系信息而不是纯文本,从而允许您的后端检查哈希是否属于您的应用程序的现有用户,但是要从该哈希中找出原始信息非常困难。

如果您的注册过程类似于Whatsapp,我假设您使用电话号码作为用户的ID,在这种情况下,您需要遍历设备上所有具有电话号码的联系人,对每个联系人进行哈希处理,然后将哈希列表发送到您的后端。 然后,后端将检查每个哈希值是否等于现有的电话号码哈希值,并将结果返回给客户端以方便邀请。

下面是一个从字符串创建哈希的示例(在本例中为MD5),但是您可以选择许多库和选项:

public static String md5(String key) {
        MessageDigest hash = null;
        try {
            hash = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            return null;
        }

        hash.update(key.getBytes());
        byte[] digest = hash.digest();
        StringBuilder builder = new StringBuilder();
        for (int b : digest) {
            builder.append(Integer.toHexString((b >> 4) & 0xf));
            builder.append(Integer.toHexString((b >> 0) & 0xf));
        }
        return builder.toString();
}