2014-03-25 65 views
0

我在這裏對不同的方式來處理一個Android應用程序,可以指向其API到服務器A(即httq討論://a.myproduct.com/api/......)客戶端A,或其他的服務器B(即httq:。//b.myproduct.com/api/...)給其他客戶B.處理多個客戶端的Android應用程序(多臺服務器)

我實際上做的是爲每個客戶端生成相同應用的不同APK。該解決方案是好的,爲一個或兩個客戶端,但會變得非常沉重,處理後..

我試圖找到一種更好的方式來擁有一個獨特的APK,可與不同服務器的URL工作。 另一個限制是,同一臺設備上,我可以有一個跟服務器A中談話服務器B.一個應用程序和其他應用程序

這裏有解決方案,我想出了:

  • 保持去與多個APK ...
  • 有一個「中央」服務器,每個應用程序第一次調用知道它必須與哪個服務器進行通話並將其存儲在共享首選項中。
  • 有一個文件存儲的地方,做一個應用,例如服務器 之間的鏈接:

    com.mycompany.productA:httq://a.mycloud.com 
    com.mycompany.productB:httq://b.mycloud.com 
    

但如何處理這個文件?什麼是創造它?

  • 使用Android的賬戶系統?爲每個雲創建一個帳戶?我真的不知道..

有誰,已經經歷過這個?

+0

你怎麼知道打開你的通用版本的客戶端是客戶端A還是B?回答這個問題將導致我們找到可能的解決方案。 – alandarev

+0

我們正在客戶端設備上推送這些應用程序。我們知道設備X由我們的客戶ClientA擁有。因此,我們安裝了鏈接到雲端的應用程序http://clientA.mycloud.com – user1195760

+0

對。鑑於您正在使用中央服務器方法,您將如何發現有人連接到您的服務器是ClientA? – alandarev

回答

0

考慮你能夠映射IMEI連接設備的客戶,我將簡要地給你你所提到的三種方法的利弊。 (如果需要更新發布)安全

  • 沒有可擴展性和可維護性 -

    多APK的

    • 完全隔離等知識的客戶。

    中央服務器

    • 可擴展,易於更新信息(如果您更改a.mycloud.com到a2.mycloud.com)
    • 不夠健壯。如果服務器停機怎麼辦?可能的攻擊或錯誤擔心。

    所有URL嵌入APK

    • 穩定,沒有大的開銷中花費的時間你的團隊/資源。
    • 不安全,您應該假設有權訪問APK的用戶可以訪問映射IMEI到公司的文件。
    • 如果客戶的IMEI數據或公司URL是​​敏感數據,那麼一個很大的禁忌。

    您是哪家公司?如果是的話,那麼你可能已經有生產服務器了,可以用第二種方法。

  • +0

    謝謝您的回覆。第一種解決方案目前是可以接受的,如果我們能夠自動化發佈過程,可能會晚一些。最後的解決方案在APK中存儲IMEI映射似乎相當危險。就目前而言,在我看來,中央服務器可能是最好的解決方案。我們甚至可以在客戶端設備上發佈演示應用程序(與demo.mycloud.com交談)。 – user1195760

    +0

    擁有一臺服務器總是聽起來很有吸引力,但遲早會有很多人開始後悔,因爲所有維護和管理費用的麻煩。附:如果你對答案感到滿意,你也可以將它投票;-) – alandarev

    0

    我想你可以建立一個通用的應用程序,並在客戶端應用程序上使用某種認證系統。例如,如果用戶將自己標識爲「客戶端A」,則您的Web服務可以「告知」您的應用使用第一個端點。如果它是「客戶端B」,那麼它將成爲第二個端點。底線是:讓您的用戶登錄,然後使用憑據來區分用戶。

    +0

    我必須給你更多的信息。 – user1195760

    +0

    事實上,這些應用程序沒有認證系統。這是商業應用B2B。不是B2C。 – user1195760

    相關問題