2017-06-22 67 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的唯一標識 設備到應用的供應商的字母數字字符串。

該屬性的值對來自同一設備上運行的同一供應商的應用程序是相同的。對於來自不同供應商的同一設備上的應用程序以及不同設備上的應用程序,不論供應商是否返回不同的值。

相關問題