刀下留人--蘋果開發者賬號封號前挽救

寫在前面

午時已到,斬…這個片段,大家再熟悉不過,當然,還有個場景,更是膾炙人口…刀下留人…

初衷

2019年年初,是個對每個iOS開發者來講一個不平靜的開始,一個不完全的統計,從1月20多號開始,蘋果開始了大規模的審查App存在隱藏內容,很多收到了封號,下架的通知,我們的App也不例外,在2019年1月26日,我們開始提測,也遭遇了這樣的事情,多次被拒後,接收到了14天申訴的警告,否則封號處理,下面,我把我的經歷分享在這裏,希望大家共勉.

經歷

2019年1月26日

版本開發,測試完成,提交商店等待審覈

2019年1月28日

開始第一次審覈,被拒,因爲我們服務器出現一點問題,導致首頁長時間等待無數據,蘋果給的截圖,在修復好服務器的問題後,我們在問題解決中心回覆了原因,並告知現在已經正常.

2019年1月29日

開始第二次審覈,被拒,發現了隱藏內容,給的是2.1大禮包,而且還包含了有關優惠券的警告,並且給了截圖

發件人 Apple
2. 1 Performance: App Completeness Hello,

Thank you for providing this information.

Upon further review, we found that your app does not comply with the
following guidelines:

Guideline 2.3.1 - Performance

We discovered that your app contains hidden features.

The next submission of this app may require a longer review time, and
this app will not be eligible for an expedited review until this issue
is resolved.

Next Steps

  • Review the Performance section of the App Store Review Guidelines.
  • Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer
    Program.
  • Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the
review process may result in the termination of your Apple Developer
Program account. Review the Terms & Conditions of the Apple Developer
Program to learn more about our policies regarding termination.

Guideline 3.1.1 - Business - Payments - In-App Purchase

We noticed that your app or its metadata enables the purchase of
content, services, or functionality in the app by means other than the
in-app purchase API, which is not appropriate for the App Store.

Specifically, your app enables points, or intermediate currencies,
without using the in-app purchase API. Additionally, please note that
the cost of the points or the intermediate currency cannot be included
in the purchase price of the app.

Next Steps

While the payment system that you have included may conduct the
transaction outside of the app, if the purchasable content,
functionality, or services are intended to be used in the app, they
must be purchased using in-app purchase, within the app - unless it is
of the type referenced in guideline 3.1.3 of the App Store Review
Guidelines.

Guideline 3.1.1 - Business - Payments - In-App Purchase

Your app unlocks or enables additional functionality with mechanisms
such as promo codes, data transfer codes, license keys, augmented
reality markers, or QR codes, which is not appropriate for the App
Store.

Specifically, 代金卷 and 兌換卷.

Next Steps

To resolve this issue, please remove this feature from your app.

Best regards,

App Store Review

看到截圖後,我這邊做了隱藏的處理,按照之前的處理應該可以通過,然而顯示是殘酷了…


2019年1月30日

  • 開始的第三次審覈,很慘,被拒.這個也是嚴重問題的開始

發件人 Apple Guideline 2.3.1 - Performance

We discovered that your app contains hidden features.

The next submission of this app may require a longer review time, and
this app will not be eligible for an expedited review until this issue
is resolved.

Next Steps

  • Review the Performance section of the App Store Review Guidelines.
  • Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer
    Program.
  • Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the
review process may result in the termination of your Apple Developer
Program account. Review the Terms & Conditions of the Apple Developer
Program to learn more about our policies regarding termination.

Guideline 3.1.1 - Business - Payments - In-App Purchase

We noticed that your app or its metadata enables the purchase of
content, services, or functionality in the app by means other than the
in-app purchase API, which is not appropriate for the App Store.

Specifically, your app enables points, or intermediate currencies,
without using the in-app purchase API. Additionally, please note that
the cost of the points or the intermediate currency cannot be included
in the purchase price of the app.

Next Steps

While the payment system that you have included may conduct the
transaction outside of the app, if the purchasable content,
functionality, or services are intended to be used in the app, they
must be purchased using in-app purchase, within the app - unless it is
of the type referenced in guideline 3.1.3 of the App Store Review
Guidelines.

In-App Purchase

It may be appropriate to revise your app to use the in-app purchase
API to provide content purchasing functionality.

In-app purchase provides several benefits, including:

  • The flexibility to support a variety of business models.
  • Impacting your app ranking by consolidating your sales to one app rather than distributing them across multiple apps.
  • An effective marketing vehicle to drive additional sales of new content.

For information on in-app purchase, please refer to the following
documentation:

In-App Purchase for Developers

In-App Purchase Programming Guide

For step-by-step instructions on in-app purchase creation within App
Store Connect, refer to App Store Connect Help.

發件人蘋果 準則2.3.1 -績效

我們發現你的應用程序包含隱藏的功能。

此應用程序的下一次提交可能需要較長的審覈時間,在此問題解決之前,此應用程序將不符合加急審覈的條件。

下一個步驟

-審覈App Store審覈指南中的性能部分。
-確保您的應用程序符合app Store評審指南的所有章節以及蘋果開發者計劃的條款和條件。
-一旦你的應用程序完全兼容,重新提交你的應用程序審查。

提交旨在誤導或傷害客戶或逃避審查程序的應用程序可能會導致您的Apple Developer Program帳戶被終止。查看Apple
Developer Program的條款和條件,以瞭解更多關於終止的政策。

指導方針3.1.1 -業務-支付-應用內購買

我們注意到您的應用程序或其元數據允許通過應用程序內購買API以外的方式購買應用程序中的內容、服務或功能,這並不適合應用程序商店。

具體來說,您的應用程序不使用應用程序內購買API就可以啓用點數或中間貨幣。另外,請注意,積分成本或中間貨幣不能包含在app的購買價格中。

下一個步驟

而支付系統,包括可以進行事務之外的應用程序,如果購買的內容、功能、或服務的目的是用於應用程序,他們必須購買使用內購,在類型的應用程序,除非它是指導3.1.3中引用的應用程序商店審查指南。

內購

修改應用程序以使用應用程序內購買API提供內容購買功能可能是合適的。

應用內購買提供了幾個好處,包括:

-支持多種業務模式的靈活性。
-影響你的應用排名,鞏固你的銷售到一個應用,而不是分佈在多個應用。
-有效的營銷工具,以推動額外的銷售新內容。

關於內購的信息,請參考以下文檔:

面向開發者的應用內購買

內購程序指南

有關在App Store Connect中創建應用程序內購買的詳細說明,請參閱App Store Connect幫助。

當時看到這個,腦袋就方了,主要是之前的審覈一直沒事,而且這裏也沒有什麼改動.
猜測是對我們內購的使用不理解,所以就解釋了我們內購(充值和自動訂閱)的使用,並且希望可以電話說明.

  • 奇蹟般的在當天下午就給我回復了(附帶了三張截圖):

發件人 Apple
2. 3 Performance: Accurate Metadata
3. 1.1 Business: Payments - In-App Purchase Hello,

Thank you for your response. It would be appropriate to remove any and
all third party payment support, such as Alipay, WeChat Pay, Huawei
Pay, from this app before resubmitting for review. It would also be
appropriate to remove any features using codes to unlock paid content
in the app. We have attached screenshots for your reference.

Best regards,

App Store Review

說實話,對於上面蘋果給我的回覆和截圖完全不是一回事,是關於我們隱藏功能的,不是有關支付寶或者三方支付的使用.

因爲這個隱藏內容是根據服務器某字段判斷顯示/隱藏的內容被顯示了出來(這個相信大家對審覈中的處理每一家都有自己的做法),當時以爲是服務器出現了錯誤,導致返回的狀態是錯誤的.緊急查看服務器日誌,發現並沒有出現異常…於是乎,做了一個腦殘的決定,可能是蘋果審覈團隊審查錯誤,決定再次提交一個版本,在更新日誌中寫了修復bug之類的,希望可以通過…


2019年2月2日

蘋果開始了第四次的審覈,很慘很慘,與1月30號拒絕的理由一樣,蒙了,慌了,放假時間也要處理啊…
我在回覆中心,回覆了兩條內容:
第一條:很抱歉,對於您這次拒絕的理由,我這邊表示不是很理解,能詳細說明嗎,或者有截圖嗎
第二條:對我們版本中使用的內購充值,內購自動訂閱和第三方支付均作了說明,並且在youtube上傳了指導視頻
而且在App信息頁面,在附錄中更新了說明和指導視頻.
等待回覆…


2019年2月3日

接到回覆:

發件人 Apple Hello,

We apologize for the delay.

Your app is still in review but is requiring additional time. We will
provide further status updates as soon as we are able.

Thank you for your continued patience.

Best regards,

App Store Review

猜想的是之前因爲觸發的2.1導致的延遲審覈導致的,反正不是具體的拒絕理由,稍微放心準備過年…
回覆了新年的祝福…真是蘋果"爸爸"…


2019年2月5日 大年初一

大年初一,農曆新年伊始…等到了蘋果的回覆…我愛工作.....我愛工作.....我愛工作.....

發件人 Apple
2. 3 Performance: Accurate Metadata
3. 1.1 Business: Payments - In-App Purchase Hello,

Thank you for your response. Specifically, it would be appropriate to
fully remove any and all features to unlock or enable additional
functionality with mechanisms such as promo codes, data transfer codes
or license keys, as well as remove any and all features to determine
the review status of the app and alter functionality.

We have attached screenshots for your reference taken from the current
version 2.11.0 submitted for review.

Submitting apps designed to mislead or harm customers or evade the
review process may result in the termination of your Apple Developer
Program account. Review the Terms & Conditions of the Apple Developer
Program to learn more about our policies regarding termination.

Best regards,

App Store Review

發的截圖終於和內容對應上了,與上次的截圖展示的內容一樣…開始仔細對比,福爾摩斯的注視…

發現問題

驚奇的我,發現我們通過A字段進行判斷的內容顯示了出來,通過B字段判斷的內容居然沒有顯示…

猜想

出蘋果估計這次大型審查應該是進行了線上版本的審查而且加入了關鍵字段的審查,相信"關鍵判斷的字段+更改對應的bool類型的數值" 這個手段,蘋果AI機審還是能夠做到的

提交

瞬間感覺到,我發現了新大陸,然後,打開工程,全局搜索,全局改動…一個下午的時間…我愛工作....我愛工作....我愛工作....
提交了新的版本,坐等審覈了…這個等待的過程和大家共勉,做夢都是審覈通過…叫醒我的不是鬧鐘,而是每天早上睜眼看看有沒有審覈結果…


2019年2月11日

開工大吉…還沒有審覈…


2019年2月12日

早上6:30分,審覈狀態改變叫醒了我,本來以爲是Pending Developer Release,結果我被恐怖的Rejected拉回了現實…
打開Contect客戶端,查看被拒原因,可是,沒辦法查看,當時瞬間慌了,大事不好…打開電腦,查看問題,炸雷:

發件人 Apple Hello,

Upon further review of the activity associated with your Apple
Developer Program membership, we have determined that your membership,
or a membership associated with your account, has been used for
dishonest or fraudulent activity. Therefore, your Apple Developer
Program account has been flagged for removal.

If you would like to appeal this termination to the App Review Board,
you must do so within 14 calendar days. When submitting your appeal,
be sure to select “I would like to appeal an app rejection or app
removal” from the drop-down menu on the Contact the App Review Team
page. Otherwise, your Apple Developer Program membership will be
terminated and all apps associated with your account will be removed
from the App Store.

We found that your app is in direct violation of the Apple Developer
Program License Agreement, which states:

"You will not, directly or indirectly, commit any act intended to
interfere with the Apple Software or Services, the intent of this
Agreement, or Apple’s business practices including, but not limited
to, taking actions that may hinder the performance or intended use of
the App Store, Custom App Distribution, or the Program (e.g.,
submitting fraudulent reviews of Your own Application or any third
party application, choosing a name for Your Application that is
substantially similar to the name of a third party application in
order to create consumer confusion, or squatting on application names
to prevent legitimate third party use).”

During our review, we found a pattern of manipulative or misleading
behavior that violates the Apple Developer Program License Agreement.
These behaviors can include, but are not limited to, inaccurate
metadata describing your app or service, misleading app content,
engaging in inauthentic ratings and reviews manipulation, providing
misleading customer support responses, providing misleading responses
in Resolution Center, engaging in misleading purchasing or
bait-and-switch schemes, and other dishonest or fraudulent activity
within or outside of the app.

We do not disclose the specific findings of our investigations into
Apple Developer Program membership accounts, and we have no additional
information to share with you at this time. You can appeal this
decision with the App Review Board at any time over the next 14
calendar days. When submitting your appeal, be sure to select “I would
like to appeal an app rejection or app removal” from the drop-down
menu on the Contact the App Review Team page.

Best regards,

App Store Review

簡單解釋:查看到有隱藏內容,現在已經刪除標記,14天申訴時間,不然,封號下架處理…這個無異於一個最嚴重的通告…

當天早上各個網站找尋解決的方案,研發組討論情況,打電話諮詢,說實話,這個過程比遇到一個bug還要頭疼…


到此,蘋果審覈被拒的工作結束了…
接下來就跟大家分享一下我從接到14天申訴的通知一直到App審覈通過上架的過程,希望對大家能有所幫助


挽救APP

應對

1.申訴

需要前往申訴的網站:蘋果開發者問題網站

  • 收到通知後,寫了第一封申訴:大體上就是說很慘(其實就是很慘),表明了自己的處境和可能產生的誤會,爲了表明自己積極配合蘋果的工作,第一封申訴中寫道,上傳了新的包,等待蘋果"爸爸"的審覈…
  • 發出第一封申訴後,在提交成功頁面給我了回覆:The App Review Board will review your request and get back to you soon. Please note that if you self-reject or resubmit your binary in App Store Connect, your appeal will not be reviewed and this request will be canceled. 就是不可自行拒絕或者重新提交二進制文件,不然申訴無效…然後我就寫了第二封申訴,表明我這邊只是上傳了新的版本,當然處於test狀態,之前拒絕的並沒有撤回,沒有提交新的包.

2.服務器

與我們服務器進行交涉,完善蘋果審覈的判斷.因爲這個涉及到商業技術問題,簡單的提醒一下,如何讓app在美國看到的一直都是審覈狀態的內容,包括線上的…點到爲止

3.打電話到蘋果開發者客服

這個方案,是我無意中發現的
在上面的蘋果開發者問題網站中,選擇"反饋與其他問題"->App Store Connect反饋->電話,這個不到一分鐘,蘋果會給你回電話…
因爲等待了四天的時間,我實在是等不了了,這個過程太煎熬了,再加上1855的開發者電話已經停了,只能寫郵件,我就打電話想發泄一下內心的焦慮…
隨後進行了一個多小時的電話,把我這段時間的經過都寫清楚了,表明自己希望儘快解決這個誤會,希望得到蘋果的理解並且給一個機會…
因爲蘋果的審覈團隊是單獨保密的,無法對外接觸,目前郵件是唯一的聯繫方式,而且這個電話中的客服也跟我說了,他們也無法聯繫到…重點來了她說將我的問題進行詳細記錄並且提交反饋,蘋果審覈團隊會看到,這個對當時焦慮的我無意一場久旱甘霖…


結果

2019年2月16日早上07:58分,進入審覈狀態…我很惶恐…
wait…wait…wait…
2019年2月16日早上09:12分,Pending Developer Release…

說實話,16號早上開始審覈,當時,最大的希望就是可以審覈,哪怕給我拒絕也好,這樣就表明從標記刪除中取消…

2019年的節後的第一個週末,是我最開的,比過年過的還要爽…

好了,以上就是這半個多月水深過熱的蘋果審覈的經歷,希望可以對這段時間出現問題的小夥伴們共勉…

至於上面提到的一些非專業技術的問題,可以多多交流…


總結

  • 1.這次的蘋果大批量的封號下架的行爲,應該是蘋果肅清應用市場的行爲,至於原因,見仁見智
  • 2.蘋果機審AI更強大了,除了正常的排查API和敏感資源,應該添加了敏感字段篩選和AI預判用途,針對專項功能的字段,建議想清楚再起名字
  • 3.內購的允許和禁止的東西,建議大家好好看看蘋果的條例,不要在地雷上跳舞
  • 4.懷疑蘋果會不定期的審查線上的內容,或者在審覈中加入了審查線上的內容,人工看不看不知道,但是對比代碼改變這個應該不是問題,所以,如何存在審覈隱藏內容的,需要在這方面做好,不然2.1大禮包
  • 5.馬甲包,不做討論,白不存一的問題,不要小瞧了機審AI
  • 6.敏感內容,建議不要放到客戶端,最好保留好字段,內容交給服務器
  • 7.對於蘋果審覈要有耐心,切不可病急亂投醫
  • 8.蘋果審覈有自己的紅線,現在內購是重點抓的一塊,還有就是評分會涉及到排行(杜絕刷榜),馬甲包(4.3)等
  • 9.不要害怕在解決方案中心回覆的等待時間,因爲提交新的版本,會讓你更加麻煩.在App沒什麼問題的時候,蘋果存在一定的誤解誤判,解釋好就行
  • 10.與你相關的上級解釋清楚蘋果最近的狀態,因爲與蘋果交流的過程是非常消耗時間的
  • 11.做好你應用的審覈判斷和不希望看到的東西,各家有各家的辦法,如果存在相關API(如支付寶或者微信的API),不要想着如何矇混過關,機審的強大不是一個Rejected能解釋完的

鳴謝

感謝不計其數的開發者小夥伴們的幫助與支持
感謝 簡書@ElegantLiar 的幫助與交流,可以參考他的iOS審覈被拒《Other - Other》問題解決跟蹤 解決方法 3.2f 4. 3 Design: Spam 3.4


寫在最後






祝大家上線成功...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章