IOS內購經常遇到的一些問題,和一些容易混淆的點。

Q1:內購和Apple Pay的區別?

  • A1:內購是內購,Apple Pay是Apple Pay。我不知道有多少人第一次接觸時,會把這倆概念混淆掉,這裏你可以簡單這麼理解,虛擬的物品就是用內購,實際的物品就是用Apple Pay。Apple Pay是一種支付方式,你可以類比爲支付寶,微信那種。但人家只支持實際物品,如果你東西是虛擬的話,你卻集成Apple Pay上架是要被拒絕的哦~當然反過來,實際物品你卻集成內購上架,也是一樣被拒。對於大部分的國內開發者而言,你很少會遇到需要集成Apple Pay的App的。能用支付寶/微信的場景還要求支持Apple Pay的產品畢竟是少數。

Q2:內購項目的類型區別?

  • A2:首先內購項目分爲以下4種,消耗型項目,非消耗型項目,自動續期訂閱,非續期訂閱。我們來一個個介紹。
    消耗型項目:只可使用一次的產品,使用之後即失效,必須再次購買。就是大家最廣爲所知的虛擬幣,比如直播平臺鬥魚的魚翅,熊貓的竹子,嗶哩嗶哩的B幣等,這個概念大家應該很好理解,不過多解釋了。

  • 非消耗型項目:只需購買一次,不會過期或隨着使用而減少的產品。這個一般是遊戲那裏用的多,一般是付費解鎖關卡的場景,用戶買過一次,卸載重裝或者同一個Apple id但換App賬號時,也要能保證用戶重新獲得該內購商品。所以App內部需要額外去實現恢復購買的邏輯。

  • 自動續期訂閱:允許用戶在固定時間段內購買動態內容的產品。除非用戶選擇取消,否則此類訂閱會自動續期。iTunces上給的示例是:每月訂閱提供流媒體服務的 App。對比我們熟悉的,網易雲音樂的內購商品-連續包月黑膠VIP,就是此類型。一般來說,沒啥必要不要選這一種,如果是VIP的那種場景推薦下面非續期訂閱類型去做。自動續期訂閱的坑非常多,比另外幾種內購類型都要複製。

  • 非續期訂閱:一般來說VIP可以用這種方法來做訂閱,我們公司項目的VIP購買就是這種方式。他的實現方式你可以完全照搬消耗性項目,不用做什麼額外處理,也不用去管返回的訂閱日期什麼的東西,就是以服務器那邊爲準。服務器的日期開始,服務器的日期結束。既簡單又保險,不需要額外的做什麼處理。

Q3:VIP一定要用內購做嗎?

  • A3:其實判斷你們公司的App到底需不需要用內購,很簡單,就是看跟實際物品有沒有關係。如果你的VIP功能是類似餓了麼這種,點外賣可以打折/多領紅包 那麼就不需要用內購,上架的時候說清楚就行了。如果你的VIP功能是虛擬的,比如頭像更炫酷,尊貴的VIP身份標示,獨特的入場動畫等等虛擬相關的,比如QQ會員,就必須要用內購去做。需要說明的是,那種是VIP才能和某某用戶聊天的場景,是VIP才能得到App裏某某用戶的服務【語音,視頻】時,這一類的場景蘋果一樣認爲是虛擬的,一樣要用內購去做。

Q4:VIP內購一定是非續期/自動續期訂閱嗎?我可不可以用虛擬幣購買VIP呢?

  • A4:這個問題我自己經歷過。我的答案是你也可以用虛擬幣購買VIP的這種方式,但如果被拒絕,你只能老老實實的按前種方式去做。如果你們的App既有虛擬幣又有VIP,產品希望你VIP是直接用虛擬幣去購買,這樣整個流程都很方便。那麼你一定要記住。千萬不要在1.0版本這麼做,這是血淚教訓。1.0版本會抓的很嚴很嚴,同時虛擬幣+VIP功能,百分百蘋果會要求你VIP要用續期訂閱去實現。最保險的做法呢,1.0版本不要做任何內購,迭代幾個小版本後,加入虛擬幣內購,在迭代幾個小版本,加入VIP直接用虛擬幣購買的功能,這是最最保險的做法。記住:1.0的審覈力度是真的很嚴,能先不做內購就不要做內購,老闆或許不懂,1.0版本什麼都想要,但往往因爲內購,會讓你們的產品反覆被拒。這一塊如果大家感興趣,可以看看,我的1.0版本就是加了內購,反覆被拒5次。血淚教訓

Q5:我們老闆心疼那百分之30的手續費,我能不能不用內購啊,有沒辦法繞過內購?

  • A5:辦法是有的。但是有風險。我16年做過繞開內購的方法。思路很簡單,就是App裏集成支付寶/微信/內購這種功能,後臺做控制開關,審覈時,開關打開,給審覈人員看內購功能,審覈通過後,開關關閉,給正常用戶是用支付寶/微信功能。這個方法,我17年的時候聽到很多羣友說不行了,你在上架審覈時,蘋果會掃描你的包,檢測到第三方支付sdk時,會拒絕掉。後來又有羣友說可以用H5的方式實現支付功能。另外可能會有別的繞開蘋果審覈的實現方式,如果有哪位朋友知道,不妨留言告知。但不管是哪種方式,都是有風險的,蘋果對內購一直抓的很嚴,如果讓它知道你們在錢的方面上欺騙過他,後果還是很嚴重的。iOS上的用戶付費率還是很不錯的,付費意願基本上可以是安卓用戶的十幾倍。所以如果你們的產品真的有前景,並且想長久做下去,還是奉勸不要做欺騙蘋果的事情了。

Q6:網上有好多講丟單的博客,看的是一臉懵逼,有的看懂後,在看下一篇又不懂了,感覺都好複雜。

  • A6:我在剛接觸內購的時候也是這樣,我覺得有些博客講的真有點過了,它爲了考慮一些用戶的極端操作,多出來很多邏輯處理,導致博客異常的複雜,我記得有博客講必須要把receipt_data等信息存到keychain裏,因爲用戶有可能卸載App,如果你只存到NSUserDefaults裏,那樣就丟單了。 …那麼有沒有這種情況呢?我覺得是肯定有的。但我們來算算機率,首先他內購成功,在向服務器調接口的時候,他手機突然沒電了/斷網了/程序崩潰了/網絡差等的久他自己殺死進程了 巴拉巴拉。 然後他在下一次手機恢復正常的時候,果斷卸載掉App,重新去App Store上下載安裝,進入App後,發現內購沒到賬。
    867088104DC1554FE5CDF4E962061E43.jpg

  • 網上博客還愛用那種切換賬號的場景舉例,A內購成功了,但用戶各種騷操作後,自己換到B賬號,然後服務器那邊把商品發到B賬號上了,等等。

  • 這些情況都是存在的,因爲蘋果的內購機制問題,你是不能百分百保證不丟單的,不要把丟單情況看的那麼嚴重,邏輯寫的那麼複雜。你看看所有大廠的App上都會寫充值遇到問題,點我聯繫客服 巴拉巴拉。關於丟單,我的做法是這樣的,在蘋果內購成功的回調裏,NSUserDefaults存每一筆支付成功的訂單,如果服務器校驗成功,就把本地存的這筆訂單刪除。如果沒收到服務器的響應,就一直保留。然後每次App啓動就會去把本地存的丟單信息扔向服務器校驗,校驗成功刪除,校驗失敗不管。這裏還是看開發時間,當時我寫內購功能的時候,預算時間就兩天不到,所以寫的飛快,就簡單的用這個辦法去防止丟單,目前來看,沒有發現過一筆真正用戶充錢但商品沒到賬的例子。如果大家開發時間充足,可以慢慢去彌補極端操作漏洞。

Q7:內購爲什麼會有這麼多坑啊?看網上好多博客都在說,我自己做微信/支付寶的時候,沒感覺有這麼多坑啊

A7:蘋果的內購坑主要有以下幾點
applicationUsername該字段可能爲nil 導致客戶端沒辦法用這個參數給服務器透傳訂單編號,來形成一個交易訂單號的綁定。
校驗訂單流程是必須服務器主動去詢問蘋果服務器,而支付寶/微信 卻是他們的服務器會在用戶支付成功時主動給我們服務器回調。正是這個原因,讓iOS開發者飽受折磨,大部分的丟單漏單都是蘋果的這個設計造成的。蘋果不會主動回調給我們服務器,也就意味着我們服務器需要主動去蘋果那裏詢問這筆訂單,到底成沒成功。但服務器詢問的時機,又是客戶端告訴服務器的。這就雞兒坑了,一些情況下,用戶在付費成功後,突然斷網了/崩潰了/出現意外了等等,客戶端沒辦法告訴服務器,這就出現了,用戶錢成功了,內購商品卻沒到賬。所以網上纔會有這麼多篇講防止丟單的博客。
越獄下,插件也能破解掉蘋果內購,然後校驗狀態status還返回成功。也就是本篇博客開頭講的那種情況。這一點真的是無力吐槽,虧你特麼回調給我的receipt_data那麼一大長串,有卵用?
蘋果的訂單機制。蘋果爲了保護用戶隱私,你是看不到一條條流水明細的。你看到的只有這種。

在這裏插入圖片描述

每一種內購類型的總收入,或者總銷量。導致對賬查詢的時候加了不少麻煩。
蘋果的退款機制。這個比上面一點更坑,iOS用戶,內購了某商品,你可以在完全用完了後,聯繫蘋果客服,說我誤操作了巴拉巴拉或者說感覺這個商品不值那麼多被開發者欺騙了巴拉巴拉,快給我退款,客服就會溫柔的告訴你,不要急,她會幫你處理,1-2個工作日把,你就會發現你的錢就退回來了。沒記錯的話,一段時間內,一個Apple Id可以申請1-2次。但不能多,多了的話就會被蘋果拒絕。而這一切,開發者這邊是完全不知情的。你不知道哪個用戶退款了,你知道的只是一個圖,類似下面的這種。

0A762A89-3A96-4503-995D-028A96518958.png

用戶消費了你的內購商品,公司卻收不到錢,很多公司的內購服務都是要成本的。如果這種用戶一旦多起來,壞賬率會飆升,公司就會被活活的拖垮。一個好的項目也就涼涼掉。淘寶上關於iOS內購退款專門有一個超級龐大的黑色產業鏈。從弄賬號到專門聯繫蘋果客服再到道具銷贓變現,各司其職,一環套一環,每個環節人都賺的盆滿鉢滿。苦的都是公司,因爲蘋果沒有任何損失,他也不會補償你公司1毛錢,一切損失都是公司自己承擔。沒記錯的話,15-16年,很多很多遊戲公司都是因爲這個被活活拖垮的。幸運的是,這種惡意退款一般都是針對遊戲公司,因爲遊戲道具可以快速變現。像正常的App甚少碰到,因爲他退款了也沒毛用,沒法及時變現。畢竟他們可不稀罕跟你們的女用戶1v1視頻聊天。

Q8:對於開發者來講,用通過內購充值,那開發者到時候怎麼得到這筆錢?

A8:做內購的時候,會填寫銀行稅務等等這些信息。蘋果會按期把錢打入到你們當時填寫的銀行卡賬戶中。這裏要注意,如果你當月內購收入很低,比如只有幾十美金,那蘋果是不會給你打款的。具體的額度好像是以150美金分界限,當你內購收入超過150美金的時候,蘋果會下月給你打款。如果你不夠150美金,那蘋果會累積到下個月打款,如果下個月還不夠,那就會繼續累積。
這裏注意兩點:
150美金是個大概的數值,我自己沒有確實求證過,我實際經歷來說遇到的當月收入都遠超過這個數字,所以很準確的最低打款金額,我也不好評估。
蘋果的打款日期,並沒有嚴格的規律。上旬,中旬,下旬打款我都遇到過,另外有時候,即便你當月金額有很多,蘋果也可能下個月不給你打款,而是給你累積到下下個月。但至多不會超過兩個月以上,如果你遇到這種情況,需要及時和蘋果客戶溝通。
綜上:
只要你銀行卡,稅務等相關財務信息填寫正確,賬戶裏收入超過150美金,大多數情況下,下個月上旬就能收到蘋果的打款。
發佈了29 篇原創文章 · 獲贊 15 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章