看板 MacDev 關於我們 聯絡資訊
大家好,我在我製作的APP裡面有一個非消耗性的內購項目,購買後可開通某個功能。 https://apps.apple.com/app/id1471458198 沙箱測試和周遭朋友測試購買都沒問題。 但陸續收到3個人,都告知一樣的問題,「已經內購了,但功能無法開通」。 因為我有請他們去蘋果的 https://reportaproblem.apple.com/ ,看是否有「番茄王」 內購項目的扣款,都說有,有人還截圖給我,所以應該是確實有購買。 我埋了很多code,嘗試抓取他們在哪一步驟卡住,再請他們mail給我。 結果是按下購買後,進入了 paymentQueue ,然後會跑到 failed error 是 「無法連接iTunes Store」 然後在此狀態下,點擊restore的話,不會有任何反應。 會觸發 paymentQueueRestoreCompletedTransactionsFinished 這個function . 不會觸發 restoreCompletedTransactionsFailedWithError,所以也沒有錯誤訊息。 奇妙的是,他們居然是買了之後就 failed ,先前卻可以購買。 而我的code是寫,如果paymentQueue 進入 purchased 就會永久的寫入一個不可逆的已購 買的資料到 user default。 就是說之前購買成功,但是也沒有進入 purchased 來寫 user default,真是詭異啊。 請問有沒有什麼意見呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.255.175 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1573458133.A.69D.html
areyo: 訂閱型的? 42.77.114.91 11/12 17:53
單次購買的非消耗型的,相對單純,可以restore的那種 ※ 編輯: lucasbard (123.0.59.64 臺灣), 11/12/2019 23:04:07
benjenq: 以前有遇過,少數帳號 restore 有問題, 42.75.210.31 11/23 17:28
benjenq: 無解,只能懷疑該帳號 iTune Store 有問42.75.210.31 11/23 17:28
benjenq: 題42.75.210.31 11/23 17:28
分享一下後續的處理,搞了老半天,覺得有兩個可能的原因: 1. 觀察者我是加在Upgrade頁面上,但WWDC Apple有再三提及觀察者一開始就要加 -> 但 這應該也不是病因,因為不是來不及交易就跳出該頁面,而是Apple 有確實傳回 failed 「無法連結ITunes store」,所以頂多應該是影響反應速度 2. 使用者瘋狂按Upgrade和Restore按鈕,程式上會「一直重來」,因為交易需要時間, 我看有時候成功需要長達約10秒,失敗的話則很快,如果user一直猛按,就永遠到達不了 -> 但因為現有的幾個 user 都有確實到達 failed,所以應該也不是這個問題,不過這 樣確實減少了嘗試交易的次數,而且 Apple 自己的 sample code 也是這樣寫,如果加上 個防呆機制不知道會不會有什麼問題。 結果只加上把失敗的原因Alert告知給user,就也沒做什麼了。觀察者要改寫我能力上寫 不出來。 然後我寫信與幾位購買後無法使用的user道歉,並且請他們去 https://reportaproblem. apple.com/ 退費。 結果後來有一位跟我說他購買成功了,並且寄給我交易紀錄,我看整個流程也沒什麼不同 ,所以看起來就只能老天保佑。 ※ 編輯: lucasbard (123.0.59.64 臺灣), 11/25/2019 07:30:59
ethanhuang13: 經歷許多挫折與傷害之後,要串 IAP1.171.103.72 12/15 20:16
ethanhuang13: 我會去用 RevenueCat SDK 1.171.103.72 12/15 20:16
原來有這東西 感謝 有空來研究 ※ 編輯: lucasbard (123.0.59.64 臺灣), 12/26/2019 06:54:52