苹果审核被拒——第三方QQ登陆的五种情形

好好的App,在新版本加入了QQ登陆功能后,竟然就被苹果拒绝了。重点是前先后后一共拒绝了5次!!!审核过了的那天立志要在简书写下第一篇文章好好记录,顺便锻炼一下文笔和熟悉一波Markdown。ios

前言:

该App是先要登陆而后才能使用。不像一些App(例如直播App),不用登陆就能使用。刚开始不了解苹果审核准则,这就挖下了后面的坑。 文末再作一波总结。web

被拒统一缘由:

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/ api

Guideline 4.2.3.png

简单翻译一下 若是该App要先登陆才能使用,那么在未安装其它任何App的状况下必须能运行该App。bash

第一次被拒

  • 苹果反馈的图
    第一次被拒.jpeg

如图,跳转到Web显示这页面。 这种状况是设备未安装QQ,直接调用QQ SDK形成的。微信

  • 处理方法: 尝试在用户未安装QQ时,仅提示“未安装QQ”。

第二次被拒

  • 苹果反馈的图 当时没保存,显示“未安装QQ”的界面。app

  • 处理方法: 检测设备是否安装QQ,未安装的则隐藏登陆按钮。 PS:网上大多数解决方案都是这样。ide

    还有一种方法是:经过后台接口隐藏按钮,等审核经过后再修改接口显示按钮。 但查看苹果开发指南中会发现,审核期须要打开全部API。 那这种方法算不算关闭了API呢?感受苹果应该检测不出来,但愿有大神能告知。ui


第三次被拒

  • 苹果反馈的图
    第三次被拒.jpeg

看到的时候都震惊了,苹果仍是苹果,竟然用了两台设备来审核。 竟然还恰好一台设备未安装,另外一台设备安装了。 看样子检测设备是否安装QQ的方法仍是有必定概率不可行。 (脸黑,毕竟审核也是要看运气的)this

  • 苹果此次还给了点建议 只保存了翻译后的截图,意思是经过Web受权登陆。
    WechatIMG782.jpeg

恰好该App也作了微信登陆功能,对比一下。 spa

微信登陆.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

最后但愿不会有第六次吧。

相关文章
相关标签/搜索