如何最好地将Android用户唯一地识别给服务器?

10 浏览
0 Comments

如何最好地将Android用户唯一地识别给服务器?

我应该如何将安卓用户识别给服务器?\n我应该获取IMSI号码和一些加盐算法吗?\n考虑到安卓的空间和性能限制,是否有一个不太庞大的库可供我用来进行计算?

0
0 Comments

随着时间的推移,越来越多的用户将拥有Android手机和Android平板电脑,如果您想要在多个设备上跟踪一个用户,最好使用OAuth。

OAuth是一种用于授权的开放标准,允许用户提供给第三方应用程序有限的访问权限,而无需将用户名和密码提供给该应用程序。因此,它可以用于唯一标识Android用户并跟踪他们的活动。

要在Android应用程序中实现OAuth,您可以使用一些库或框架,如Google的Sign-In API或第三方库,如OkHttp和Retrofit。这些库提供了方便的方法来处理OAuth授权流程,并将用户的访问令牌传递给服务器以标识用户。

以下是一个使用Google Sign-In API实现OAuth的示例代码:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .build();
GoogleSignInClient mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
Intent signInIntent = mGoogleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);

在服务器端,您可以使用用户的访问令牌来唯一标识他们,并将其与其在应用程序中的活动进行关联。您可以在每次用户与服务器进行交互时,将访问令牌传递给服务器,并在服务器上进行验证和处理。

通过使用OAuth,您可以轻松地唯一标识Android用户,并跟踪他们在多个设备上的活动。这种方法不仅安全可靠,还可以为用户提供更好的隐私保护,因为他们无需共享其用户名和密码。

总之,使用OAuth是唯一标识Android用户并跟踪他们在多个设备上活动的最佳方式。通过使用相应的库和框架,您可以轻松地实现OAuth授权流程,并在服务器端处理用户的访问令牌来实现唯一标识。

0
0 Comments

在开发Android应用时,需要找到一种有效的方式来唯一地标识Android用户。根据developer.android的说法,通常有三种常用的方法来记住用户:

1. 要求用户输入用户名,但这种方式有问题,首先,要求用户在进入应用之前输入用户名会使应用变得不够吸引人;其次,无法保证所选择的用户名是唯一的。

2. 获取设备的唯一设备ID来记住设备,但这种方式对用户来说相对麻烦,而且只能在一台设备上记住用户,这对于用户来说是非常令人沮丧的。

3. 从AccountManager中检索内置帐户,这是首选的方法。Account Manager允许您获取存储在用户设备上的帐户信息,通过仅在应用的用户界面中添加几个额外的步骤,使用Account Manager可以记住用户,无论用户拥有多少设备。

如果为iOS编写相同的应用程序,是否仍然选择选项C是最佳选择?或者是否会采用基于服务器端根据其他信息生成唯一ID并存储在手机上的方式,比如用户手机号(用户输入手机号,服务器返回一个UID存储在手机上)?在解决同样的问题时,我在尝试中发现了这篇文章。

在iOS中,可以使用UUID来生成唯一ID,可参考Stack Overflow上的这个问题。它还提供了一种很好的方式,如果用户有多部手机并且希望进行同步。

0
0 Comments

问题的原因:想要在服务器上唯一标识Android用户,但没有找到可靠的方法,除非使用账户,其他方式都不可靠或只能识别设备。

解决方法:提供自己的注册服务,为每个用户分配唯一的ID。另一种选择是使用与设备绑定的Google账户。如果构建的是扩展某种Google工具、应用或其他内容的应用程序,则用户已经拥有Google账户,因此应用程序也可以使用其来识别用户。

0