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

好好的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/

简单翻译一下 如果该App要先登录才能使用,那么在未安装其它任何App的情况下必须能运行该App。

第一次被拒

  • 苹果反馈的图

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

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

第二次被拒

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

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

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


第三次被拒

  • 苹果反馈的图

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

  • 苹果这次还给了点建议 只保存了翻译后的截图,意思是通过Web授权登录。

刚好该App也做了微信登录功能,对比一下。

未安装微信的设备,会跳出Web来验证。

看到这想起,QQ登录好像也有Web验证功能。 翻了一下SDK,并未找到对应方法,于是就上网搜。

原来申请QQ登录后,还要找客服配置一下才能跳转到Web授权。申请后会自动顶替 第一次被拒绝 那个要求安装最新QQ的界面。 于是就去找腾讯客服说明情况,得到以下回复。

这么说,不就又掉回了这次被拒的轮回吗。。。

抹着眼泪的我又重新去看了QQ第三方登录的网址。 一打开,我的天,漏了这么重要的消息!!!

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审核通过,谢谢!

附件,是我们跟腾讯客服的对话截图。
复制代码

第四次被拒

这次苹果还回复一样的原因,我是不服的。苹果不行、腾讯那边又不行,需求方也不会放过我的。

  • 处理方法: 静下来想了想,苹果审核人员是在美国工作的,会不会看不懂中文呢? 于是用英文编辑了以下文字回复。
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才会这样的理由被拒绝。登录后的功能不会。如图不违反苹果开发者指南。

最后希望不会有第六次吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值