2011-07-14 29 views
3

當通過iOS上的應用內購買銷售非消耗品時,將提供restoreCompletedTransactions方法,以便您可以檢索用戶擁有的所有購買據我所知,這是爲用戶提供一種快速恢復購買的方法,例如當他們購買新設備時。iOS應用內購買:確認不需要使用restoreCompletedTransactions

據我所知,如果打算打電話給restoreCompletedTransactions,有一個問題是應該在用戶按下按鈕時自動還是手動調用它(例如參見here)。

我的問題是,是否有必要打電話restoreCompletedTransactions。如果我的應用只有一兩件東西可以銷售/解鎖,那麼讓用戶通過標準購買用戶界面似乎是可以接受的,只要有註釋說明如果用戶購買了某些東西,用戶就不會再收費已經購買。所以說,用戶將我的遊戲安裝在新設備上。在他們的舊設備上,他們已經購買/解鎖了X級。當他們到達新設備上的X級時,它會詢問他們是否想要購買它(說明他們以前購買時不會收取兩次費用),他們說是的,他們現在在他們的新設備上有X級,而且他們只收取一次(當他們在他們的舊設備上購買它時)。

就蘋果的批准而言,這是否是一種猶太人的處理方式?我可以看到,如果他們購買了100件單獨的物品,那麼給他們一種方法來一次性恢復它們是很好的。但是如果整個應用只有一個或兩個解鎖,我的no-restoreCompletedTransactions方法可以接受嗎?

回答

2

只有在用戶的操作下才能恢復。您可以擁有一個名爲Restore Previous Purchases的按鈕或其他東西。

原因是,調用恢復顯示身份驗證窗口,這是不被認爲是良好的用戶體驗。

希望iOS 5能解決這個問題,使用iCloud。

+0

謝謝,但不是我問的問題。我知道不用用戶的操作就可以啓動還原。我的問題是,是否需要*提供恢復機制/按鈕,或者是否可以讓用戶完成原始購買流程作爲恢復的方式,特別是如果您只有一個或兩個待售商品。 –

+0

沒關係還沒有恢復按鈕。事實上,如果你問我iOS 5,用戶應該通過iCloud自動獲得在任何設備上進行的所有購買(就像他們獲得應用程序購買一樣) – Mugunth

+0

但是到目前爲止,對於iOS 4,你不能這樣做。如果你有超過5個,我會建議有一個單獨的按鈕來恢復它們。 – Mugunth

5

按照In-App Purchase Programming Guide的「恢復交易」部分:

但是,如果你的應用程序支持的產品類型必須是 恢復原狀,您必須包括接口,允許用戶恢復 這些採購。

我們有一個非消費品購買應用程序,我們沒有包含恢復按鈕,而是依靠用戶試圖購買時的默認行爲。

這是我們第一次提交應用程序(2012年5月)時獲得批准,但之後(2012年6月)當我們在無關區域提交更新時,更新被拒絕。

所以要回答你的問題:不,看起來你必須使用restoreCompletedTransactions。儘管你有時可能會逃避。

+0

謝謝。我們現在已經爲我們的兩個應用程序添加了一個恢復按鈕。 –

+1

是的,同樣的事情發生在我身上,我不得不添加一個恢復按鈕/功能。在某種程度上,我很樂意這樣做,因爲我們收到了很多用戶的反饋,他們對是否會再次收費感到困惑。文檔還不清楚還原是否會爲appleid密碼重新生成 - 這太糟糕了,否則我們可能會在首次運行/安裝時自動恢復。 – natbro