2012-11-05 144 views
11

請考慮以下示例。比方說,我們有一個應用程序,專業作家通過基於Web的用戶界面編寫故事。然後,這些故事將成爲iOS應用用戶的應用購買項目。通用應用內購買產品實施

如您所知,我們需要提前在應用程序購買產品中創建。但在我們的情況下,這意味着對於作家創作的每個故事,我們都必須創建一個新的IAP產品,並等待Apple批准它。爲了規避這個問題,我打算在IAP中創建通用的「消費品」產品,例如價值1.99美元的故事,價值2.99美元的故事,等等。然後在應用程序用戶界面中,我將顯示作者創建的故事列表,並顯示作者在創建故事時指定的故事的相應價格。一旦用戶點擊購買按鈕,我將顯示相同價格的通用消費品的購買並完成應用內購買流程。

現在的問題是蘋果會批准這樣的實施嗎?它是否符合他們的IAP政策?我在問,因爲我無法找到像這樣的工作流程的指導原則。

實現此功能的另一種方法是實施應用內信用/貨幣系統,例如遊戲使用。人們在那裏購買信用/硬幣,然後用硬幣購買物品。這是一個久經考驗的方法,但它不適合我的應用程序的類比,因此是一個問題。

+0

您是否按照此處描述的方式實施了這種方式?我以爲用我的一個新的應用程序也一樣,但不知道他們是否會批准... – SpaceDog

+0

你打算如何支付作家? –

+0

@RubberDuck - 是的,我們是這樣實現的。該應用在第一次嘗試中被拒絕。客戶必須與蘋果公司進行抗爭,才能獲得批准。 –

回答

2

你想達到什麼是完全可行的,唯一可以購買的內容必須是動態的。您將不得不從服務器下載產品ID,而不是在應用程序中對其進行硬編碼。

爲了引用你的例子,我可以想象一個表視圖被饋入一個對象列表,這個對象列表將存儲SKProduct ID。您必須這樣做,因爲在撰寫本文時,您無法從Apple服務器檢索您的應用程序的所有可用產品ID。我知道這是一個痛苦的屁股,他們沒有實現這個功能,但說實話,如果他們還沒有,我不認爲他們會做。

這是我指的方法:initWithProductIdentifiers

你爲它提供一個NSSet中所有你想要檢索的標識符,但如果你提供一個空集或零,它不迴應與所有現有的。如果您覺得這種方式無法正常工作,可以使用Apple提交錯誤。如果您仍然有任何疑問,請檢查此答案:link

另一個需要注意的重要事項是,您將不得不手動上傳您的產品。 Apple不公開任何API以使該流程自動化。這意味着,每當作家上傳一些東西到您的服務器上時,您都必須登錄iTunes連接並創建一個產品。此外,您將被限制爲10,000種產品,因爲這是您可以在Apple註冊的不同產品的最大數量。我還建議您快速閱讀iTunes Connect指南,其中包含一些重要信息,例如我剛剛提到的一些重要信息:iTunes Connect

關於第三方框架,比如上述的UrbanAhiphip,他們只會將您從必須在您的服務器上實施收據驗證。除此之外,我沒有看到任何重大優勢。

說了這麼多,我建議你重新考慮你的商業模式。每件產品上傳一件產品的麻煩真的值得嗎?或者更好的方法是使用訂閱方式,用戶每月支付固定金額下載大量文章。您可以有不同的層次,例如基本,高級(無限下載)等,並控制從您的服務器傳送文章。這取決於你,但對我來說,答案非常明確。

+0

謝謝,這或多或少地回答了我的問題。我不知道他們只允許10000個產品!訂閱也不是我們可以使用的模型。事實上,這些故事只是一個類比(因爲NDA和產品概念維護),我在問題中提出了問題。實際的產品是不同的,在訂閱模式中沒有意義。 –

0

Pritam

對於交付動態內容,你應該使用一個訂閱,而不是消費品。使用訂閱通過允許您爲每個更新收費並同時分發新內容來解決您的問題。

你可以尋找到第三方服務,如UrbanAirship將顯著減少的時間量你花試圖動態提供內容,跟蹤訂閱和到期日等