我做了一個android應用程序,但我希望能夠在客戶端運行應用程序後更新某些值(假設我有x = 5;在代碼和新版本中,我想要x = 10;相反),就像您從Play商店下載的應用程序通知您更新的方式,並且您可以安裝最新版本。我是否需要使用GCM製作可更新的Android應用程序?
我看不出在移動設備上本地安裝應用程序時這是如何實現的,所以我想到了雲解決方案。還有另一種方法可以做到嗎?而Facebook和Messenger等應用如何向用戶發送通知?
我做了一個android應用程序,但我希望能夠在客戶端運行應用程序後更新某些值(假設我有x = 5;在代碼和新版本中,我想要x = 10;相反),就像您從Play商店下載的應用程序通知您更新的方式,並且您可以安裝最新版本。我是否需要使用GCM製作可更新的Android應用程序?
我看不出在移動設備上本地安裝應用程序時這是如何實現的,所以我想到了雲解決方案。還有另一種方法可以做到嗎?而Facebook和Messenger等應用如何向用戶發送通知?
假設您正在討論更改值(即應用程序的狀態),而不是實際嘗試下載新代碼,那麼您有幾個選項。
如果是這種情況,那麼您真正想要做的就是讓您的應用程序意識到需要更改某些內容。 (這可能只是一個通知,有一個新版本,用戶應該從Play商店下載)
有至少兩種方式的信息到您的應用程序。
GCM是一種選擇,但不是唯一的選擇。
GCM用於「推送」通知,即即使他們當前正在使用您的應用程序,也希望發送您的應用程序或用戶的通知。爲了使用GCM,您需要託管某種服務器,並在服務器認爲需要時發送通知。
另一種選擇是將您的應用程序「檢入」您的服務器並下載一些內容。內容可能包含需要更改的值,或者僅僅是應用程序應通知用戶他/她應該採取一些進一步的操作來更新與應用程序有關的內容。這也需要您託管一臺服務器。
第二個選項更容易,主要是因爲要通過GCM發送您的應用程序消息,您幾乎必須能夠執行第二個選項。 Android平臺提供了許多life cycle hooks,它們爲您提供了與您的服務器「簽入」的機會。例如,在活動的onResume期間可能是「登記」的好地方
爲什麼你不使用playstore? –
如果您在將應用推送到商店之前知道這些未來的配置更改,那麼您應該實施某種運行時配置模式(或遠程配置),並且一種推薦的方法是使用GCM作爲獲取這些新配置的觸發器。 如果你無法預測它,那麼只需發佈新的更改與新的apk版本。 – AnixPasBesoin
@AnixPasBesoin我只能預測會有變化,但不會改變確切的區域。 我並不是真的要將應用程序推向playstore,主要是因爲它是一個衆所周知的應用程序,旨在供我周圍的人使用,以研究他們的習慣和其他事物,因此我打算在本地分發它 –