蘋果稽核被拒——第三方QQ登入的五種情形

Hsusue發表於2018-08-03

好好的App,在新版本加入了QQ登入功能後,居然就被蘋果拒絕了。重點是前前後後一共拒絕了5次!!!稽核過了的那天立志要在簡書寫下第一篇文章好好記錄,順便鍛鍊一下文筆和熟悉一波Markdown。

前言:

該App是先要登入然後才能使用。不像一些App(例如直播App),不用登入就能使用。剛開始不瞭解蘋果稽核準則,這就挖下了後面的坑。 文末再做一波總結。

被拒統一原因:

Guideline 4.2.3 - Design - Minimum Functionality
We were required to install QQ before we could use your app. Apps should be able to run on launch, without requiring additional apps to be installed.Next StepsTo resolve this issue, please revise your app to ensure that users can use it upon launch. If your app requires authentication before use, please use methods that can authenticate users from within your app.
複製程式碼

去檢視蘋果開發者指南 https://developer.apple.com/app-store/review/guidelines/

Guideline 4.2.3.png

簡單翻譯一下 如果該App要先登入才能使用,那麼在未安裝其它任何App的情況下必須能執行該App。

第一次被拒

  • 蘋果反饋的圖
    第一次被拒.jpeg

如圖,跳轉到Web顯示這頁面。 這種情況是裝置未安裝QQ,直接呼叫QQ SDK造成的。

  • 處理方法: 嘗試在使用者未安裝QQ時,僅提示“未安裝QQ”。

第二次被拒

  • 蘋果反饋的圖 當時沒儲存,顯示“未安裝QQ”的介面。

  • 處理方法: 檢測裝置是否安裝QQ,未安裝的則隱藏登入按鈕。 PS:網上大多數解決方案都是這樣。

    還有一種方法是:通過後臺介面隱藏按鈕,等稽核通過後再修改介面顯示按鈕。 但檢視蘋果開發指南中會發現,稽核期需要開啟所有API。 那這種方法算不算關閉了API呢?感覺蘋果應該檢測不出來,希望有大神能告知。


第三次被拒

  • 蘋果反饋的圖
    第三次被拒.jpeg

看到的時候都震驚了,蘋果還是蘋果,居然用了兩臺裝置來稽核。 居然還剛好一臺裝置未安裝,另一臺裝置安裝了。 看樣子檢測裝置是否安裝QQ的方法還是有一定機率不可行。 (臉黑,畢竟稽核也是要看運氣的)

  • 蘋果這次還給了點建議 只儲存了翻譯後的截圖,意思是通過Web授權登入。
    WechatIMG782.jpeg

剛好該App也做了微信登入功能,對比一下。

微信登入.png

未安裝微信的裝置,會跳出Web來驗證。

看到這想起,QQ登入好像也有Web驗證功能。 翻了一下SDK,並未找到對應方法,於是就上網搜。

原來申請QQ登入後,還要找客服配置一下才能跳轉到Web授權。申請後會自動頂替 第一次被拒絕 那個要求安裝最新QQ的介面。 於是就去找騰訊客服說明情況,得到以下回復。

騰訊開放平臺回覆.jpeg

這麼說,不就又掉回了這次被拒的輪迴嗎。。。

抹著眼淚的我又重新去看了QQ第三方登入的網址。 一開啟,我的天,漏了這麼重要的訊息!!!

令人頭皮發麻的通知.png

QQ居然從2018年1月31日起不支援網頁授權啦!!!

  • 處理方法: 編輯了一大段文字回覆蘋果稽核人員。
親愛的蘋果官方稽核人員,您好!
對於QQ登入,蘋果官方建議我們,如果使用者沒有安裝QQ,則提供潛入網頁讓使用者在網頁輸入QQ賬戶密碼來登入。但是,騰訊QQ官方已經不支援第三方QQ登入使用網頁登陸方式。我們已經跟騰訊開放平臺的客服聯絡過。騰訊官方也釋出了公告,這個是連結: http://wiki.connect.qq.com/%E9%80%9A%E7%9F%A5
目前騰訊技術提供了一個介面,就是判斷使用者有沒有安裝QQ,如果安裝了則顯示QQ登入圖示,如果沒有則遮蔽該圖示。我們的(**)APP已經實現這樣的邏輯了。騰訊技術官方給出唯一的解決辦法就是判斷是否安裝QQ選擇性顯示QQ登入圖示。下面這個是騰訊的技術公告連結http://wiki.connect.qq.com/ios%E4%BE%A7%E5%88%A4%E6%96%AD%E5%AE%89%E8%A3%85qq%E6%8E%A5%E5%8F%

麻煩稽核人員理解下,目前QQ已經不允許其他APP使用網頁方式登入QQ,我們也按照騰訊的要求,做了判斷遮蔽圖示處理。

希望稽核人員,能讓我們新版本的APP稽核通過,謝謝!

附件,是我們跟騰訊客服的對話截圖。
複製程式碼

第四次被拒

這次蘋果還回復一樣的原因,我是不服的。蘋果不行、騰訊那邊又不行,需求方也不會放過我的。

可惡的需求方.gif

  • 處理方法: 靜下來想了想,蘋果稽核人員是在美國工作的,會不會看不懂中文呢? 於是用英文編輯了以下文字回覆。
Dear Apple official auditor, Hello!According to the latest technology Bulletin of Tencent, when QQ third party login, if the client installed QQ, it can directly modulate the QQ application authorized login. However, when QQ application is not installed, it will prompt the installation of QQ, and cannot jump to browser for QQ login.If you do not install QQ, it is impossible to land, this is due to the official restrictions of the Tencent, not our reason. If the user does not log in to QQ, it can also use the WeChat or the registered account of our application.For QQ login, apple officials suggest that if the user does not install QQ, it provides a latent web page to allow the user to enter the QQ account password in the web page. However, Tencent official does not support third party QQ login login page. We have been in contact with the customer service of the Tencent open platform. Tencent official also issued a bulletin, this is the link: http://wiki.connect.qq.com/%E9%80%9A%E7%9F%A5At present, Tencent technology provides an interface to determine whether the user has installed QQ. If installed, it displays the QQ login icon. If not, it will block the icon. Our (**) APP has already realized this logic. The only solution to the Tencent technology official is to determine whether to install a QQ selective display of the QQ login icon. The following is the Tencent technical bulletin link http://wiki.connect.qq.com/ios%E4%BE%A7%E5%88%A4%E6%96%AD%E5%AE%89%E8%A3%85qq%E6%8E%A5%E5%8F%QQ has not allowed other APP to log on to QQ with web pages. We also made a judgement of screened icon processing according to the requirements of Tencent.Hope that the auditor, can let us the new version of the APP audit pass, thank you!
複製程式碼

到這終於通過稽核啦,笑得像個地主家的傻兒子。

好日子還沒享受多久,又傳來了噩耗。 修改了一些bug後提交新版本稽核又被拒絕啦。


第五次被拒

  • 反饋的圖 和第一次被拒的圖一樣。 猜測是裝置安裝了QQ,但QQ版本過低。

  • 處理方法:

//判斷是否安裝qq,沒有就隱藏按鈕
    if([QQApiInterface isQQInstalled]){
        //判斷當前版本的qq是否支援呼叫api
        if([QQApiInterface isQQSupportApi])
            [self setQQLogin];
    }
複製程式碼

改完後又通過了。

總結

  • 最終的解決方案是: 未安裝的裝置隱藏按鈕,安裝了的裝置也要檢測QQ版本(不支援的隱藏按鈕)。提交稽核時用英文說明情況。
  • 事後才知道稽核人員在美國,但能看懂中文。所有最後一次是被我賴得才通過的?
  • 不止一個稽核員,稽核需要運氣。隱藏QQ按鈕也是有機率被拒絕的,但是熟悉一下開發者指南會提高通過的機率。
  • 只有未登入不能使用的App才會這樣的理由被拒絕。登入後的功能不會。如圖不違反蘋果開發者指南。
    未安裝微信.png

最後希望不會有第六次吧。

相關文章