2013-06-12 36 views
0

最近,我在應用程序內購買提交了應用程序與它得到了拒絕,因爲以下內容:在混亂中拒絕不包括應用程序內購買「恢復」按鈕

我們發現,當你的應用程序提供了在 - 可以 恢復應用程序內購買(S),它不包含所需的「恢復」功能,讓 用戶恢復以前購買的應用程序內購買(S)

我有完全遵循的指示和已實施如下:

- (void) completeTransaction: (SKPaymentTransaction *)transaction 
{ 
    [self recordTransaction:transaction]; 
    [self provideContent:transaction.payment.productIdentifier]; 
    [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 
} 

- (void) restoreTransaction: (SKPaymentTransaction *)transaction 
{ 
    [self recordTransaction: transaction]; 
    [self provideContent: transaction.originalTransaction.payment.productIdentifier]; 
    [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 
} 

很顯然,我沒有一個觸發restoreTransaction的按鈕,但是我感到困惑的是,Apple是否僅僅需要這個作爲形式來減少混淆呢?因爲上述兩種方法都完全一樣,而且我注意到,當我嘗試購買應用程序內購買之前已經這樣做時,它會說「像免費升級,因爲您已經購買了它」。

所以我的第一個問題是,是具有還原按鈕僅僅是爲了防止用戶嚇壞了的原因,他們可能會害怕,推動「購買」再一次的目的是什麼?即我不需要跟蹤數據庫中的客戶購買歷史記錄或其他內容?

第二個問題是,如果誰沒有以前購買的應用程序首推「恢復」出於好奇用戶,將它去什麼前進,購買的應用程序內購買的呢?

回答

2

蘋果喜歡你有一個Restore All PurchasesButton 應該發生什麼是從Apple獲取購買清單。 當用戶想要恢復某些東西時,用戶不必點擊購買(關於購買與否的困惑,就像在AppStore的早期階段一樣)

當您觸發恢復時,它不會購買任何東西。這只是我購買的恢復,如果不是,它只是失敗,但不會購買任何東西。

如果您不確定應用內購買代碼,您可以閱讀Raywenderlich.com的Introduction to In-App Purchases。該文章還提供了超級可重用的應用內購買助手代碼。 用戶在其應用程序內購買幫助程序中點擊Restore All Purchases時調用的方法是- (void)restoreCompletedTransactions;

1

的第一個問題是有點主觀的,這是一般不會在這樣受歡迎,但我會盡量回答它不管。

很多蘋果人機界面指南的重點提出申請的「感覺」與設備相匹配,作爲解釋in the guidelines。雖然這很多都關注設備屏幕上運行良好的元素的大小,但還包括恢復按鈕也是其中的一部分。蘋果有些任意決定,如果應用程序提供應用程序內購買以適應其系統的感覺,則應用程序需要恢復按鈕。

第二個問題實際上似乎有點像被混淆的標記爲題外話前一個問題。這個問題更多地涉及如何設置恢復,但我認爲這可能會使您受益並防止上面的重複代碼。 Here是鏈接。具體來說,Wrights接受的答案看起來像是一個很好的模板,可以確保您不會爲具有還原功能的用戶購買物品。

如果問題被刪除,here是答案建議的教程。

希望提供一些幫助。

相關問題