在 iOS 11 App Store 中,已經支援搜尋結果中顯示內購了,那你知道為 App 新增內購商品要注意些什麼嗎?今天這篇文章我們就和大家詳細的講一下新增內購的流程,主要內容分為以下幾個方面:
協議、稅務和銀行業務資訊填寫
內購商品的新增
新增沙盒測試賬號
內購程式碼的具體實現
內購的注意事項
一、協議、稅務和銀行業務資訊填寫
1.協議、稅務和銀行業務資訊填寫的入口
2.選擇申請合同型別
進入協議、稅務和銀行業務頁面後,會有 3 種合同型別,如果你之前沒有主動申請過去合同,那麼一般你現在啟用的合同只有 iOS Free Application 一種。
頁面內容分為兩塊:
Request Contracts (申請合同)
Contracts In Effect (已生效合同)
合同型別分為 3 種:
iOS Free Application (免費應用合同)
iOS Paid Application (付費應用合同)
iAd App NetNetwork (廣告合同)
這篇文章我們主要講的是付費應用合同的申請流程。
3.申請 iOS Paid Application 合同 (協議、稅務和銀行業務 3 個都要填寫)
4.Contact Info (填寫聯絡方式)
如果你沒有新增過聯絡人,你需要通過 Add New Contact 按鈕來新增一個新的聯絡人,然後指定聯絡人的職務。如下:
Senior Management:高管
Financial:財務
Technical:技術支援
Legal:法務
Marketing:市場推廣
如果你是獨立開發者,可以全部填你自己一個人。
5.填寫銀行資訊
選擇你的銀行賬戶,如果你沒有,點選旁邊的 Add Bank Account 新增一個賬戶。下面是新增一個賬戶的流程。
①選擇銀行所在的國家
②填寫銀行標識 CNAPS Code
如果你不知道 CNAPS Code 是多少,可以百度搜 CNAPS Code 來查詢,查詢時會根據 3 個關鍵資訊來查詢,如下:
Bank Name:銀行的英文名稱(不能是拼音)
City:銀行所在的城市英文名稱(中國的城市用拼音)
Postal Code:郵編
然後在下面就會出來備選的銀行,選擇正確的銀行後,點選 next,進入下一步。
③確認銀行資訊
④填寫銀行賬號資訊
Bank Account Number:銀行賬號
Confirm Bank Account Number:再次輸入銀行賬號
Account Holder Name:持卡人姓名,中文名用拼寫,名在前,姓在後
Bank Account Currency:貨幣型別,一般國內的開發者選擇 CNY
⑤確認所有資訊
6.填寫稅務資訊 (這個內容比較多)
①稅務資訊分 3 種:
U.S Tax Forms:美國稅務
Australia Tax Forms:澳大利亞稅務
Canada Tax Forms:加拿大稅務
②一堆條約
我選擇的是 U.S Tax Forms,選擇後會問你兩個問題:
第 1 個問題詢問你是否是美國居民,有沒有美國夥伴關係或者美國公司,如果沒有直接選擇 No。
第 2 個問題詢問你有沒有在美國的商業性活動,沒有也直接選 No。
③然後填寫你的稅務資訊,包括以下幾點:
Individual or Organization Name:個人或者組織名稱
Country of incorporation: 所在國家
Type of Beneficial Owner:受益方式,獨立開發者選個人
Permanent Residence:居住地址
Mailing address:郵寄地址
Name of Person Making this Declaration:宣告人
Title:頭銜
④打鉤
⑤澳大利亞的不要管了
⑥加拿大的也不用管了
7.填寫完成
8.待稽核你填寫完所有資料後,合同狀態就會變成 Processing,大概 24 小時內就會有結果。
二、內購商品的新增
1.建立內購商品
2.選擇內購型別
①消耗型商品
類似遊戲中的鑽石,還有現在某些 App 中的貨幣,比如鬥魚裡的魚丸、映客裡的映票。會被消耗的,要選擇消耗型商品。
注意:大多數的消耗型商品都是需要登入的,因為需要在資料庫存餘額。 在登入之前,你最好不要讓使用者看到商品,有可能會因為這個原因被拒 (大家都說看運氣) 。小編推薦大家加一下這個群:594353854 群裡已經幾百人了 大家遇到啥問題都會在裡面交流!而且免費分享零基礎入門資料 iOS開發資料一整套!是個非常好的學習交流地方!也有程式設計師大神給大家熱心解答各種問題!很快滿員了。欲進從速哦!各種PDF等你來下載!全部都是免費的哦!只為幫助大家快速入門,所以小編在群裡等你們過來一起交流學習呢!
②非消耗型商品
無法被消耗的商品,比如上文提到的視訊課程,一次購買,就應該永久可以觀看。
注意:當你使用非消耗型商品時,你需要新增一個恢復購買的按鈕。 這個常見於各種遊戲中,其實知道這個規定以後還是挺好理解的, 非消耗型商品是不可被消耗的,一次購買終身使用的。
③訂閱型別商品
如果你的公司是外包公司,有訂閱型別商品的 App,一定要用客戶的賬號提交稽核!因為當 App 中有過訂閱型別商品,注意是有過,建立過再刪除也算,這個 App 無法被轉移賬號。
注意:使用或曾經使用過訂閱型商品的 App 無法轉移
3.建立好的產品 4.在上線的時候記得新增內購的商品三、新增沙盒測試賬號
1.新增沙盒測試的入口
2.新增沙盒測試賬號
3.具體的測試賬號資訊填寫
四、內購程式碼的具體實現
我建立了一個購買金幣的內購控制器 ApplePayCIOViewController。 在這裡, 向大家貼出.m 的詳細程式碼。
1.內購的流程詳細講解
①使用者先拿到購買產品的單子
②繳費、蓋章
③把已蓋章的單子傳到自己的伺服器,驗證是否支付成功
④根據伺服器返回的資訊做具體的處理
2.程式碼
①先匯入 StoreKit.framework 庫
②建立 ApplePayCIOViewController,遵守協議<SKPaymentTransactionObserver,SKProductsRequestDelegate>
③ApplePayCIOViewController.m 程式碼
向下滑動檢視多圖
五、內購的注意事項
1.一般發生於首次提交 App 或新增新商品。當你的 App 通過稽核以後,你發現在生產環境下獲取不到商品,這是因為 App 雖然過稽核了,但是內購商品還沒有正式新增到蘋果的伺服器裡,耐心等待一段時間就可以啦~
-
程式碼中的_currentProId 所填寫的是你的購買專案的的 ID,這個和第二步建立的內購的 productID 要一致;本例中是 123。
-
在監聽購買結果後,一定要呼叫 [[SKPaymentQueue defaultQueue] finishTransaction:tran] ;來允許你從支付佇列中移除交易。
-
沙盒環境測試 App Store 內購流程的時候,請使用沒越獄的裝置。
-
請務必使用真機來測試,一切以真機為準。
-
專案的 Bundle identifier 需要與您申請 App ID 時填寫的 Bundle ID 一致,不然會無法請求到商品資訊。
-
真機測試的時候,一定要退出原來的賬號,才能用沙盒測試賬號
-
二次驗證,請注意區分巨集, 測試用沙盒驗證,App Store 稽核的時候也使用的是沙盒購買,所以驗證購買憑證的時候需要判斷返回 Status Code 決定是否去沙盒進行二次驗證,為了線上使用者的使用,驗證的順序肯定是先驗證正式環境,此時若返回值為 21007,就需要去沙盒二次驗證,因為此購買的是在沙盒進行的。
9.您的應用是否處於等待開發者釋出 (Pending Developer Release) 狀態?等待發布狀態的 IAP 是無法測試的。
10.您的內購專案是否是最近才新建的,或者進行了更改?內購專案需要一段時間才能反應到所有伺服器上,這個過程一般是一兩小時,也可能再長一些達到若干小時。
11.您在 iTC 中 Contracts, Tax, and Banking Information 專案中是否有還沒有設定或者過期了的專案?不完整的財務資訊無法進行內購測試。
12.您是在越獄裝置上進行內購測試麼? 越獄裝置不能用於正常內購 ,您需要重灌或者尋找一臺沒有越獄的裝置。
13.您的應用是否是被拒狀態 (Rejected) 或自己拒絕 (Developer Rejected) 了? 被拒絕狀態的應用的話對應還未通過的內購專案也會一起被拒 ,因此您需要重新將 IAP 專案設為 Cleared for Sale。
14.您使用的測試賬號是否是美國區賬號?雖然不是一定需要,但是 鑑於其他地區的測試賬號經常抽風,加上美國區賬號一直很穩定,因此強烈建議使用美國區賬號 。正常情況下 IAP 不需要進行信用卡繫結和其他資訊填寫,如果你遇到了這種情況,可以試試刪除這個測試賬號再新建一個其他地區的。
15.您是否將裝置上原來的 App 刪除了,並重新進行了安裝?如果是,記得在安裝前做一下 Clean 和 Clean Build Folder。
16.您的 plist 中的 Bundle identifier 的內容是否和您的 App ID 一致。
不能再詳細指南到此結束,快去給你的 App 設定內購吧~
如有侵權請聯絡小編刪除!