2017-06-22 106 views
1

我正在使用移动应用程序。用户将拥有网页以及移动应用程序访问系统的权限。当用户在Android手机和iPhone等不同设备上为同一账户安装应用时 - >如何区分这些应用?像是否有任何用户代理字段可用于区分后端服务器上的设备。如何检测用户已安装应用程序的独特设备

+0

您可以在API中添加一个参数,以确定哪个设备用户会来。并在应用程序进入前台时调用它。像, “设备类型”:“Android”或“iOS”或“网络” –

+0

@NishantBhindi:我需要它是独立于每个设备独立的操作系统。所以,如果用户已经安装了2 android应用程序的应用程序 - >我应该能够区分它们以及服务器上。 – j10

+0

@Subramanian:独特的方式来识别每个设备,而不管操作系统。 – j10

回答

1

的iOS

在iOS设备上可以使用identifierForVendor获得唯一的ID。

对于来自同一设备上运行的同一供应商的应用,此唯一ID将相同。这个你可以用它来识别iOS中的独特设备。

NSString* vendorIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 

安卓:

您可以通过使用ANDROID_ID

import android.provider.Settings.Secure; 

private String android_id = Secure.getString(getContext().getContentResolver(), 
                 Secure.ANDROID_ID); 
+0

使用这些权利是完全合法的吗? – j10

+0

是的。这不是私人apis – Subramanian

1
NSString* Identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 

为了识别目的,使用UUID(通用唯一标识符)。这必须基于每个应用程序。无法再识别设备,但您可以在设备上识别应用。不幸的是,如果用户完全删除并重新安装应用程序,那么ID将会改变,但这是任何人都可以做到的最好的。

+0

谢谢@Coder。如果在应用程序安装后UUID发生变化,那很好。 – j10

+0

@jitenshah如果你的问题解决了,你甚至可以接受我的回答 – Developer

1

的iOS斯威夫特identifierForVendor获得唯一的ID获得的唯一ID

let deviceUUID = UIDevice.current.identifierForVendor!.uuidString 
1

Apple Documentation

identifierForVendor的唯一标识 设备到应用的供应商的字母数字字符串。

该属性的值对来自同一设备上运行的同一供应商的应用程序是相同的。对于来自不同供应商的同一设备上的应用程序以及不同设备上的应用程序,不论供应商是否返回不同的值。

相关问题