2013-04-14 28 views
1

我在應用中實施應用內購買,並測試現有應用以獲得一些想法。但是我發現了一個我很困惑的場景。應用內購買:使用多個Apple ID在同一設備上購買物品

我已經安裝了iOS應用程序併購買了增強級別。之後,我卸載此應用程序,從現有iTunes商店帳戶註銷並再次使用另一個Apple ID登錄,然後再次重新安裝該應用程序(同一應用程序)。我發現我不需要再次購買增強級別,我可以自由使用這些增強級別,但我已使用另一個不同的Apple ID重新安裝。我對此很困惑......如果我們在同一設備上使用多個蘋果ID,那麼所購買的物品是綁在設備上的?

據我所知,我可以使用相同的蘋果ID在不同設備上恢復購買的商品。但如何在多個設備上多個蘋果ID?如果我在設備上關聯了2個Apple ID,我使用其中一個購買的產品,但後來我使用這兩個Apple ID登錄到另一個設備,我仍需要再次付款才能下載我在以前的設備上購買的產品?

請讓我知道,如果我的情況和問題不清楚...我希望有人可以提供一些想法,分享購買物品對不同的設備和多個蘋果ID。

歡迎任何建議和意見。非常感謝。

+2

作爲購買的結果(文件,NSUserDefaults,keychain,...),你如何存儲應用程序更新?您對Apple服務器的IAP響應進行了哪些驗證? – Wain

+0

我注意到,當您卸載應用程序時,iOS並不總是清理沙箱,因此您存儲的任何數據都會告訴您的程序購買了什麼東西,可能會意外徘徊。重新啓動你的設備,並檢查你的應用程序的沙箱,以確保一切都消失了。 – Hyperbole

回答

0

當特定應用程序啓動時,它必須決定哪些inApp購買適用於您。這可以通過幾種方式完成,其中有幾種方式,其中一些是:

1)檢查應用程序文件系統,查看某些文件是否存在與inApp購買相對應的內容,或某些應用程序文件中的某些字段是否具有某些應用程序依賴表示inApp購買適用於您的值。

在這種情況下,您將擁有與上次遊戲在設備上玩遊戲時完全相同的inApp購買。

2)檢查設備上的密鑰環,看看是否存在進行inApp購買的跡象。我不完全確定,但在這種情況下,我認爲鑰匙圈將取決於「登錄」到設備的最後一個人。我不確定的部分是該登錄信息是否屬於iCloud,iTunesStore,最近的登錄信息或其他信息。 (我很感謝來自某人的澄清。)

3)檢查iCloud是否有特定的與應用程序相關的鍵或鍵,然後將以某種依賴於應用程序的方式進行解釋。這當然取決於是否啓用了iCloud,所以如果這是應用程序使用的第一種方法,那麼它可能會有後備。 4)如果應用程序擁有自己的登錄名和/或通過登錄Facebook或類似方式連接您,它可以使用該登錄名來檢查自己的應用程序服務器,以查看應該購買哪些應用程序。

所以我想說這一切都取決於如何編程特定的應用程序。蘋果的準則可能會對這些選擇加以一些限制。 (我也希望能夠澄清一下。)

0

Apple只會要求您根據自己的Apple ID在每臺擁有的設備上購買可用的用戶。

其他情況是由你決定的。作爲應用程序。你測試過了。