2012-12-06 40 views
1

目前,我的iOS應用程序必須向我的服務器詢問可用的應用程序內購買產品,然後,對於產品,應用程序必須向Apple詢問價格。我可以從我的服務器獲取應用內購買價格嗎?

爲此添加的延遲可能不是很多,但我想讓它更快。

我可以不使用我的服務器來取代這些價格而不是客戶端嗎?也就是說,是否有一個基於HTTP的API可以從服務器使用,爲我獲取價格而不是客戶端?這樣我可以緩存不同用戶的結果並減少往返時間。如果是這樣,我該怎麼做?如果不是,你在哪些方面處理這個問題?

+0

爲什麼不能問蘋果的服務器的可用產品和價格? –

+1

@StephenDarlington在服務器產品模型中,您需要發送一組(列表)In-App-Products,其中蘋果與其服務器上存在的應用程序相匹配,併發送有效產品ID的數組列表。 –

+0

@Pranav有趣的,謝謝。 –

回答

1

****客戶** - 既DS iOS應用DS -Developer服務器蘋果 - 蘋果服務器**

客戶端通信&蘋果
當客戶端與蘋果溝通您有一些優勢(如下所述),而不是時間消耗的一個缺點。

  1. 當u的一組應用程式-產品發送到蘋果,它匹配 一個人的有效&發送有效的產品ID的(SKProduct 陣列)的陣列列表。這完全消除了顯示尚未註冊的產品 的風險,批准&清除出售 針對您的應用程序。

  2. 本地化 - 價格爲例。 S'pose我在美國銷售產品 ,在美國&英國。此產品的價格將按DS中的US $ 計算。所以你最終會在英國向美國用戶展示價格。 (在 爲了克服這個僅在一定程度上 DS應該有 一個基於用戶的國家本地化貨幣的機制)。

只有DS
要回答你的問題的客戶溝通;是的,你可以使用DS來獲取產品的價格。您可以通過向產品對象(從服務器提供的應用內購買產品列表中添加另一個屬性(價格))來實現此目的。需要在DS中實施。

例如,
產品1 - 應用內商品ID,價格,名稱,示例圖片等。


產物N - 應用程序內產品ID,價格,名稱,樣品圖片等

現在好了怎麼做,我們會盡力將客戶從夫妻的優勢與通信DS兩者同時使用與客戶溝通&蘋果只有DS?

1高級 - 通過在DS端手動檢查或通過某些定義的過程,可以確保只顯示有效的產品。

2進階 - 將這一向上稍微程度實現以下@ DS

步驟1 - 創建在具有App Store pricing Matrix DS端DB表。
第2步 - 當你點擊一個客戶到DS的請求時,你的DS可以從服務請求命中獲得IP。根據此DS服務可以找到用戶的當前國家。用戶的當前國家
步驟3爲基礎的,在本地化的貨幣從步驟1映射的價格在用戶使用的當前國家不是App Store pricing Matrix部分使用美國$價格。(這是有點接近蘋果公司儘管它使用與用戶的Apple ID關聯的國家)。

顯示在IAP Confirmation Dialog中的最終結果本地化價格與您所顯示的價格相同(避免您指出的不匹配 - 再次:-))。

這整個實施,將在方案失敗時,屬於一個國家一個用戶屬於其他一些國家的的AppleID。它失敗的因爲DS地圖價格取決於用戶的位置,但IAP Confirmation Dialog顯示基於價格的用戶的AppleID國家(不匹配!!!)。

你無法determine Country associated with Apple ID logged into the iOS device。檢查這種問答& A.

我建議你去實現模型「既DS &蘋果客戶端通信」,但爲了減少時,既DS &蘋果客戶溝通,有多個產品請求相關聯的延遲(比方說一次10個產品的集合或取決於您在UI中每次顯示的產品數量)。

只有在如果你覺得或者更準確地說有分析它說你輸定了收入或用戶,因爲「延遲」的的情況下,然後用模型「只有DS客戶端通信」繼續。

+0

爲了清楚起見,在您的示例中,您是否有服務器從Apple獲取價格?我認爲本地化貨幣可能是值得的,因爲這樣做的代價。 –

+0

不是服務器,它是從蘋果公司獲得價格的應用程序 –

+0

但是,如果是向蘋果公司詢價的客戶端應用程序,那麼我們有最初描述的問題(我試圖優化)。 –

1

你可以只是存儲在US $服務器上的價格/數據數組,然後再從應用程序內定位它們。如果您稍後添加更多產品或更改價格,那麼只需更新您的陣列,無論其位於服務器上的只有一個文件。當然,本地化可能需要一段時間,但我不確定是否有代碼支持它,因此,爲每個國家投入相當於美元的費用肯定會耗費時間,但是可能的。最終結果會更快,但我比較快速地獲取了像這樣的產品ID和UBER。

如果仍然從你的服務器的價格,然後安裝該應用程序將本地的通過第一,它附在您的請求,這樣的價格結果可以本地化。

+0

「先通過本地發送並附加到您的請求中,以便價格結果可以本地化。」 需要清晰度,謝謝。 –

相關問題