miskss
miskss
  • 发布:2018-03-25 09:55
  • 更新:2020-01-17 09:48
  • 阅读:2974

ios因为三方登录问题被拒绝

分类:HTML5+

1、之前三方登录qq 微信的入口图标不管用户手机中有未安装qq、微信,被拒绝;
2、现在改为如果用户手机中未安装qq、微信则不显示相应的登录图标,还是被拒;
3、这到底是怎么回事?有什么好的解决方案?

ios 被拒信息
Guideline 4.2.3 - Design - Minimum Functionality

We were required to install the QQ app before we could log in via QQ. Users should be able to log in with QQ and access their accounts without having to install any additional apps.

Next Steps

If you would like to offer authentication through QQ, please use a mechanism that allows users to log in with QQ from within your app without first having to install an additional app.

We recommend implementing the Safari View Controller API to display web content within your app. The Safari View Controller allows the display of a URL and inspection of the certificate from an embedded browser in an app so that customers can verify the webpage URL and SSL certificate to confirm they are entering their sign in credentials into a legitimate page.

Resources

For additional information on the Safari View Controller API, please review the What's New in Safari webpage.

app中的安装和显示判断逻辑使用后的HBuilder中的登录模板  

plus.oauth.getServices(function(services) {  
                        var flag = false;  
                        for(var i in services) {  
                            var service = services[i];  
                            auths[service.id] = service;  
                            if(~authBtns.indexOf(service.id)) {  
                                var isInstalled = app.isInstalled(service.id);  
                                if(isInstalled) {  
                                    flag = true;  
                                    var btn = document.createElement('div');  
                                    //如果未安装,则为不启用状态  
                                    btn.setAttribute('class', 'oauth-btn');  
                                    btn.authId = service.id;  
                                    btn.style.backgroundImage = 'url("images/' + service.id + '.png")'  
                                    oauthArea.appendChild(btn);  
                                }  
                            }  
                        }  
                        if(!flag){  
                            document.getElementById("footer").style.display = "none";  
                        }  

    /**  
     * 获取本地是否安装客户端  
     **/  
    owner.isInstalled = function(id) {  
        if(mui.os.android) {  
            var main = plus.android.runtimeMainActivity();  
            var packageManager = main.getPackageManager();  
            var PackageManager = plus.android.importClass(packageManager)  
            var packageName = {  
                "qq": "com.tencent.mobileqq",  
                "weixin": "com.tencent.mm"  
            }  
            try {  
                return packageManager.getPackageInfo(packageName[id], PackageManager.GET_ACTIVITIES);  
            } catch(e) {}  
        } else {  
            switch(id) {  
                case "qq":  
                    var TencentOAuth = plus.ios.import("TencentOAuth");  
                    return TencentOAuth.iphoneQQInstalled();  
                case "weixin":  
                    var WXApi = plus.ios.import("WXApi");  
                    return WXApi.isWXAppInstalled()  
                default:  
                    break;  
            }  
        }  
    }
2018-03-25 09:55 负责人:无 分享
已邀请:
王者地带

王者地带 - 5+混合APP开发教程网 | http://www.html5-app.com | 咨询QQ: 2564034335

先检测用户手机是否安装了,QQ和微信, 如果没有安装的就先隐藏,

苹果审核既然能看你的QQ登录按钮,那就是你自己写的程序代码可能有判断失误,
好好本地测试,再提交审核,一两天又可以得审核结果了

  • miskss (作者)

    关键是本地测试,如果未安装qq或微信,图标已经隐藏掉了

    2018-03-25 11:02

l***@163.com

l***@163.com

我的APP 也判断了是否安装了软件,如果未安装就隐藏。但是还是被拒绝了。截得图 上面是“xxxx”wants to open "weibo". 说明安装了微博。

  • miskss (作者)

    搞个控制三方登录显示的接口,审核期间将三方登录彻底隐藏掉,通过后在打开显示;以后app版本更新时,就可以将这个接口去掉

    2018-06-04 17:21

  • w***@gmail.com

    回复 miskss: 这样可以通过审核吗?

    2020-01-06 12:57

  • l***@163.com

    回复 w***@gmail.com: 审核的时候隐藏了,审核完了再显示。

    2020-03-09 16:42

爱吃鱼的靖哥哥

爱吃鱼的靖哥哥 - 行走在全栈路上的码农

我也遇到这个问题了,坑,大家都是怎么解决的啊。光判断是否安装来隐藏显示按钮能通过吗

该问题目前已经被锁定, 无法添加新回复