2015-09-17 39 views
1

我正在爲iOS和Android應用程序設計具有註冊電話號碼的聊天應用程序。維護用於註冊我的應用程序的帳戶的單個設備

我想確認這個數字和應用工作的一個手機上的時間,下面的場景給我希望確保應用程序一旦被認證到另一臺設備使用相同的賬戶細節禁用之前的設備。

1)的應用程序安裝在一個iOS設備註冊的帳戶,並刪除並重新安裝同一裝置上再次 2)的應用程序安裝iOS手機然後相同的帳戶上Android應用驗證在iOS電話應用應顯示禁用的帳戶 3)應用程序安裝在兩個具有相同編號的android手機上應該自動禁用舊手機。

原因是我不想要的應用程序與相同數量的運行,以避免像WhatsApp的確實的多個副本。

我想到的是iOS和Android的MAC ID使用設備鑰匙扣得到這個工作了,因爲蘋果停止UDID廣播服務器。 也有關於這個供應商ID蘋果提供一個模糊的想法。

可以在這個人的意見。我如何才能實現這樣的應用程序運行相同的帳戶只有一個電話和其他只是停止。

+1

可能的重複[是否有唯一的Android設備ID?](http://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id) – user2413972

+0

好問題。我來認識新東西... – NSPratik

回答

-1

下面的方法是獲取設備ID有關標識可以read here

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; 
} 

更多信息。

1

如果您正在使用一個電話號碼得到寄存,則只能在一個設備上運行,因爲你不能對在同一時間1+設備上運行相同的pH值號碼捆綁的應用程序。從用戶的角度來看,如果他在多個手機之間改變相同的號碼,按照你的情況,這個應用程序阻止了用戶的先前設備,這聽起來像一個永無止境的循環。每次用戶的上一個設備被阻止或可能導致阻止所有用戶的設備。至少對我來說至少不合理。

+1

謝謝@justlearning我的問題是,如果這第二個設備支持互聯網,並且可以註冊相同的號碼,並驗證它與第一個電話或SIM卡上發送的短信在第二部手機中轉移。我們只想確保第一部手機在用戶授權使用第二臺設備並通知其第一臺設備不再可用時重置應用程序。 –

+1

查看Viber的例子,它可以允許一部手機,一部iPad和一臺電腦,但只要我們嘗試在第二部手機上註冊viber應用程序,上一部手機會自動停止工作。我們考慮了讓服務器將設備類型和ID(分配並存儲在鑰匙串中)與數字進行維護的方法,然後在應用上的每次啓動時,都會根據服務器驗證此ID。 –

+1

如果服務器從另一部手機獲得註冊電話,那麼它只是使用這個新電話覆蓋以前的設備ID,所以下次第一個設備檢查並自動將其重定向到登錄屏幕。然而,我們將確保用戶,如果用戶來自第二臺設備上的登錄過程,我們向用戶發出提示,他的第一臺設備將無法使用。這種方法是否正確? –

相關問題