阿里分发平台开发者实名认证教程

阿里分发平台开发者实名认证教程

一、开发者实名认证简介

根据国家网信办颁布的《移动互联网应用程序信息服务管理规定》,阿里应用分发开放平台按规定实行开发者实名制认证管理,开发者账号运营者需登录阿里应用分发开发平台进行实名认证,点击平台右上角的“开发者实名认证”并使用手机支付宝APP扫描二维码,根据提示进行相关操作,并按流程上传运营人员的身份证正反面照片,然后进行人脸识别验证。

二、开发者实名认证操作流程

提示:开发者实名认证前请准备好身份证、手机、已实名的支付宝帐号。

1、在阿里应用分发开放平台完成开发者注册流程后,登录帐号。

2、点击右上角登录账号,下拉点击“开发者实名认证(未认证)”进入认证页面。

3、出现二维码扫描页面,需打开手机支付宝扫一扫扫描二维码。

4、根据提示扫描身份证正反面,完成后确认并提交相关身份信息。

5、根据提示进行“采集本人人脸”的操作,采集成功后回到电脑端刷新页面即完成实名认证,无需等待审核。

6、刷新后可看到是否已经实名认证成功,若需要更换实名制认证可点击进行操作。

三、开发者实名认证常见问题

1、如果不实名认证,可以提交应用或者更新应用吗?

答:从2018年2月7日起,如未进行实名认证,将无法提交应用,也无法编辑更新应用,请尽快完成实名认证。

2、实名认证支持企业支付宝认证吗?

答:实名认证对象是软件发布者这一行为人,因此不支持企业支付宝认证,仅支持个人支付宝进行认证,且实名认证的对象不限定身份,可使用公司法人、应用负责人或其他相关人员的支付宝进行认证。

3、实名认证后的信息会发生泄露吗?

答:根据《移动互联网应用程序信息服务管理规定》的要求,阿里应用分发开放平台开展的实名认证严格按照相关法律法规执行,不会造成个人信息泄露。

4实名认证需要收费吗?认证完成后有效期是长期的吗?

答: 实名认证不收取任何费用(平台以及认证的个人支付宝都不会产生任何扣费),且认证完成后长期有效。

5、实名认证后的身份信息支持更换吗?

答:实名认证后的身份信息支持更换,只需使用新的支付宝账号进行认证,不需要原支付宝账号进行任何操作。如果运营人员发生变更,请尽快按照以下步骤更换绑定。

      点击右上角登录账号,下拉点击“开发者实名认证(已认证)”进入认证页面,点击更换实名制认证即可。

6、开发者账号被封停后,该开发者关联的实名制信息支持换绑吗?

答:开发者账号被封停后,该开发者关联的实名制信息不支持换绑。

7、已经提交了开发者资料为什么还需使用个人支付宝进行实名认证?实名认证与开发者注册有什么区别吗?

答: 开发者注册提交的资料信息是对开发者主体进行审核认证,属于账号主体注册,而实名认证对象是该开发者主体所对应的具体软件发布行为人,属于软件发布者实名。只有开发者注册的账号通过了审核,在使用该账号发布软件时,才需要对软件发布者进行实名认证,且只需认证一次,后续即可进行软件的发布、更新维护等操作。

阿里分发平台开发者注册流程

阿里分发平台开发者注册流程

一、开发者注册流程

        注册淘宝账号 → 使用淘宝账号登录开放平台 – 进行开发者信息认证

       注意:如已有淘宝账号,无需重新注册,可直接登录。

二、注册淘宝账号

1、点击平台主页右上角“注册”,进入“淘宝账号注册页面”注册淘宝账号。

注意:本平台新注册账号仅支持使用淘宝账号作为登陆账号,账号使用需遵循淘宝网规定,如注册认证或登录账号环节出现异常,可联系淘宝账号客服查询具体异常原因,不便之处敬请见谅。

三、开发者信息认证

1、登陆开放平台(https://open.9game.cn/login 

同“注册账号入口”,可在首页选择右上方的“登陆”登陆开放平台

2、选择开发者类型

点击 应用分发 – 安卓应用管理 – 选择注册开发者类型:企业开发者/个人开发者,填写信息即可。

注意,类型选择后不支持再变更,选择企业开发者后不支持再变更为个人开发者,个人开发者可升级为企业开发者类型。

3、填写开发者信息

(1)企业开发者

第一步、填写基本信息

上传营业执照注意事项:

(1)请提交营业执照原件照片或扫描件,若是复印件,需加盖公司红色印章。

(2)请勿遮挡营业执照边缘部分,请上传一张完整的清晰证照,谢谢。

(3)证件不能含有专项使用说明字样或水印,否则无法用于阿里应用开发者认证。

第二步、填写正确联系方式

(2)个人开发者

第一步、填写基本信息

上传身份证扫描件注意事项:

(1)本人手持身份证正面照;(重要)

(2)照片内持证人五官清晰可见;

(3)照片内所持身份证需为正面,且信息完整清晰,无遮挡;

(4)照片内完整露出持证手臂;(重要)

(5)照片没有任何修改痕迹;

(6)姓名,性别,身份证号码务必真实.

第二步、填写正确联系方式

阿里应用分发平台介绍

阿里应用分发平台介绍

一、平台概述

「阿里应用分发」整合豌豆荚、阿里游戏·九游、PP助手、UC应用商店、神马搜索,并联合YunOS应用商店等应用分发平台,共同实现全流量矩阵布局。

二、平台理念

踏实做好行业的“里子”,让开发者安心做“面子”。

依托更雄厚的资源、做好更全面的服务、打造更适合中国安卓开发者的开放平台。

我们是年轻的品牌,各位是年轻的行业力量,我们愿与诸位一同成长,共赢未来。

三、渠道资源

阿里应用分发开放平台整合豌豆荚、PP助手、阿里游戏、YunOS 应用商店、UC应用商店、神马搜索6大亿级产品矩阵,实现「一点接入,全平台分发」,只要接入一个开放平台即可共享六大亿级平台海量资源。

1、UC应用商店

针对用户手机应用过多、追求更便捷轻量的操作体验痛点,基于移动互联网而推出的轻便WAP端应用市场。入口常驻UC浏览器九宫格,坐拥UC浏览器5亿用户、过亿日活用户流量和大数据。

产品网址http://m.pp.cn/home.html

2、PP助手安卓版

延续PP助手IOS端的强大品牌口碑,为安卓手机用户提供资源丰富、操作流畅的产品体验,同时提供全方位跟进的服务体验。并接入支付宝备受追捧的集分宝货币,成为首款能赚钱的应用市场。

产品网址http://pro.25pp.com/pp_android

3、神马搜索

无缝对接被UC浏览器等众多优质产品指定为官方移动搜索引擎的中国第二大移动搜索引擎——神马搜索,依托神马搜索首创的APP化“蓝光搜索模式”、场景化搜索等众多领先搜索技术,以及其不断增长的移动搜索市场份额,牢牢抓住移动搜索的海量流量,进行应用精准曝光,获得超乎想象的高转化率。

产品网址http://m.sm.cn/

4、阿里巴巴·九游

与阿里巴巴·九游强强联合,由阿里巴巴·九游为PP助手提供游戏接入、评测、预热、活动运营等联运服务,坐拥九游近亿月活跃游戏用户,进一步提高游戏发行能力。

产品网址http://app.9game.cn/

5、豌豆荚

豌豆荚是中国知名的安卓应用商店。 2016 年 7 月,豌豆荚正式并入阿里巴巴移动事业群。
从 2010 年发布至今。豌豆荚始终坚持着用精湛的技术和精良的设计,让用户更为简单地把应用、
音乐、资讯等优质应用、内容放进手机里,成功帮助 5 亿用户发现了更大更美好的世界。 
“从解决问题,到完美地解决问题”,是豌豆荚思考与行动的起点,也是豌豆荚的核心竞争力。  

【产品网址】https://www.wandoujia.com/

 
 
 

四、推广服务

1、首发推广:全程线上化申请,包含新产品首发/更新首发、独家/联合多样的首发合作方式,长达5天的首发专区展示,直观醒目的首发角标,享受海量免费推广资源。

2、福利活动:通过应用发放福利特权从而刺激用户下载、安装应用。实现下载和安装转化率双重飙升,增强品牌认知。福利越多,收获越大。

3、竞价广告:无需排期,随到随推广;严格去重,保证投放效果 账户可控,把握投放节奏;数据透明开放,随时查看。

4、开发者与PP助手开放平台互相利用自身资源推广对方产品的合作形式。一般以激活量(CPA)来计算,根据换量产品不同略有差别。可换量产品:PP助手安卓版、UC浏览器、九游、书旗小说。

5、付费推广:提供按下载付费(CPD)为主,辅以CPA、CPT的合作模式,覆盖渠道包括不限于PP助手客户端,UC应用商店,神马搜索,超高性价比。

五、移动开发服务

1、联合阿里聚安全、阿里移动质量中心,免费体验APP稳定性、兼容性等综合测试功能,以及强大的风险扫描、应用加固、安全组件,让、支付宝级别的强大安全服务为你的APP安全护航。

2、联合阿里云、阿里大于,版权家,专业定制化的云服务场景、海量稳定云服务器,快速的软件资质申办渠道,优质便捷的云通信服务,为广大开发者解决应用推广过程中遇到的痛点难点。

六、优质应用扶持计划

闪屏推荐、活动曝光、品牌营销、内容共创

更多问题咨询请关注官方微信了解。

QQ 互联UnionID打通业务自助处理指引

QQ 互联UnionID打通业务自助处理指引

QQ互联UnionID打通业务已支持在互联官网(connect.qq.com)自助申请。

        通过QQ互联邮箱渠道申请的打通业务,将于2019年9月2日停止服务,请有相关需求的开发者请到QQ互联官网进行申请,感谢您的支持与配合!

操作流程指引:

  •  操作流程
  • 操作步骤

1. 应用所属的开发者帐号登录互联官网 connect.qq.com 进入应用管理界面;

2. 对需要进行UnionID打通的应用进行【查看】操作(该应用审核状态必须为“通过”);

3. 选择【应用接口】,在Unionid一栏选择【申请】,等待审核获取;

4. 接口获取成功。

  •  相关资料

UnionID介绍:https://wiki.connect.qq.com/unionid%e4%bb%8b%e7%bb%8d

QQ三方授权登录access_token过期后怎么处理?

QQ三方授权登录access_token过期后怎么处理?

access_token过期调用接口时,平台会返回错误码为100014的错误,此时需要引导用户重新进行授权。建议在每次获得用户授权时保存过期时间,在每次调用接口前判断用户access_token是否过期。
token过期时间为30天。如果存储的access token过期,请重新走登录流程,通过Authentication_Code 获取新的access token值
后续access_token后续会支持自动续期,请开发者继续关注。
如果有任何疑问请联系企业QQ:800030681。

在实现OAuth2.0协议时应该注意什么?

在实现OAuth2.0协议时应该注意什么?

答:建议使用QQ互联提供的SDK。如果没有合适的语言版本,请注意server-side模式的Step1中的state参数的处理:
1.在发起授权流程生成state参数时,要保证随机生成,并且尽量避免重复。例如:state= MD5(时间戳+当前帐号)。
2.生成后要和当前登录的用户进行绑定。这里建议两种实现方式:
1)把state放在用户的cookie中;
2)把state放在该用户在服务端的session里。
3.在Step1请求Authorization Code时必须传递state参数。
4.腾讯服务器在响应Step1的请求后,将重定向到开发者的服务器。此时开发者的服务器应检测state参数是否一致(即cookie或session里的state)。如果不一致,开发者的服务器应该拒绝此请求,并且不再发起换取access_token的请求。如果一致,则流程正常运行。
强烈建议开发者实现以上过程,以防止CSRF攻击。

实现QQ三方授权登录教程 开发攻略_Client-side

实现QQ三方授权登录教程 开发攻略_Client-side

本开发攻略适用于使用Implicit Grant方式获取Access Token的授权验证流程,适用于需要通过客户端访问的方式,例如需要通过浏览器的javascript代码,或者电脑/移动终端上的客户端访问时。
阅读本开发攻略前,请阅读使用Implicit Grant方式获取Access Token以了解认证流程。

1. 体验一把

1. 浏览器访问:http://qzs.qq.com/qzone/openapi/client.html 。
2. 点击页面中的“登录”按钮:

3. 在弹出的登录框中输入QQ帐号和密码:


4. 登录成功后,跳转到指定的回调地址,URL中带有Access Token:

2. 快速上手

准备工作

1. 请确保您的网站已经提交接入QQ登录的申请,并成功获取到appid和appkey。申请接入
2. 请在你的服务器上ping graph.qq.com ,保证网站和互联的连接畅通。

Step1:放置QQ登录按钮

网站需要下载“QQ登录”按钮图片,并按照UI规范将按钮放置在页面合适的位置。
按钮图标下载
按钮放置规范

Step2:获取Access Token

1. 打开浏览器,访问如下地址(请将client_id,redirect_uri,scope等参数值替换为你自己的):

https://graph.qq.com/oauth2.0/authorize?response_type=token&client_id=[YOUR_APPID]&redirect_uri=[YOUR_REDIRECT_URI]&scope=[THE_SCOPE]

2. 跳转登录授权页,如下图所示:


3. 如果用户点击“授权并登录”,则成功跳转到指定的redirect_uri,并在URL后加“#”号,带上Access Token以及expires_in等参数。如果redirect_uri地址后已经有“#”号,则加“&”号,带上相应的返回参数。
例如回调地址是:www.qq.com,则会跳转到:

http://www.qq.com/?#access_token=YOUR_ACCESS_TOKEN&expires_in=3600

特别提示
1. 请求时传入的recirect_uri必须与注册时填写的回调地址一致,用来进行第三方应用的身份验证。
2. 可通过js方法:window.location.hash来获取URL中#后的参数值,详见下面的示例代码。
3. 建议用js设置cookie存储token。

4. 获取到的access token具有30天有效期,用户再次登录时自动刷新。

Step3:使用Access Token来获取用户的OpenID

1. 发送请求到如下地址(请将access_token等参数值替换为你自己的):

https://graph.qq.com/oauth2.0/me?access_token=YOUR_ACCESS_TOKEN

2. 获取到用户OpenID,返回包如下:

callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );

Step4:使用Access Token以及OpenID来访问和修改用户数据

1. 建议网站在用户登录后,即调用get_user_info接口,获得该用户的头像、昵称并显示在网站上,使用户体验统一。
2. 调用其他OpenAPI,以访问和修改用户数据。所有OpenAPI详见API列表
以调用get_user_info接口为例:
(1)发送请求到get_user_info的URL(请将access_token,appid等参数值替换为你自己的):

https://graph.qq.com/user/get_user_info?access_token=YOUR_ACCESS_TOKEN&oauth_consumer_key=YOUR_APP_ID&openid=YOUR_OPENID

(2)成功返回后,即可获取到用户数据:

{
  "ret":0,
   "msg":"",
   "nickname":"YOUR_NICK_NAME",
   ...
}

3. 示例代码

下面给出了一个JavaScript的样例(只需要按照注释修改部分代码即可运行)

  <html>
     <head>
        <title>Client Flow Example</title>
     </head>
     <body>
        <script>
           function callback(user)
           {
              var userName = document.getElementById('userName');
              var greetingText = document.createTextNode('Greetings, '+ user.openid + '.');
              userName.appendChild(greetingText);
           }
           //应用的APPID,请改为你自己的
            var appID = "YOUR_APP_ID";
           //成功授权后的回调地址,请改为你自己的
            var redirectURI = "http://qzs.qq.com/qzone/openapi/success.html";
           //构造请求
           if (window.location.hash.length == 0)
           {
              var path = 'https://graph.qq.com/oauth2.0/authorize?';
              var queryParams = ['client_id=' + appID,'redirect_uri=' + redirectURI,'
              scope=' + 'get_user_info,list_album,upload_pic,add_feeds,do_like','response_type=token'];
              var query = queryParams.join('&');
              var url = path + query;
              window.open(url);
           }
           else
           {
              //获取access token
              var accessToken = window.location.hash.substring(1);
              //使用Access Token来获取用户的OpenID
              var path = "https://graph.qq.com/oauth2.0/me?";
              var queryParams = [accessToken, 'callback=callback'];
              var query = queryParams.join('&');
              var url = path + query;
              var script = document.createElement('script');
              script.src = url;
              document.body.appendChild(script);
           }
        </script>
     </body>
 </html>

4. 使用JS SDK

为了让应用更快接入,腾讯提供了JS SDK,应用只需引入js脚本,再进行少量的代码修改,即可接入QQ登录,过程非常简单快速。
详见:
JS SDK使用说明

QQ登录OAuth2.0接入方式?

QQ登录OAuth2.0接入方式?

QQ登录OAuth2.0支持网站接入移动应用接入
网站可通过以下两种方式接入:
(1)使用QQ互联提供的SDK包,用户体验统一,只需要修改少量代码,不需要理解验证授权流程,需要快速接入QQ登录的网站和移动应用可选用此方法。
QQ互联提供JavaScript,PHP,Java等多个版本的SDK,详见:SDK下载
QQ登录JS SDK详见:JS SDK使用说明
(2)根据QQ登录OAuth2.0协议,自主开发,此方法自定义程度较高,需要与现有系统进行整合的网站和移动应用可选用此方法。
详见:OAuth2.0开发文档
移动应用开发可通过以下两种方式接入:
(1)使用QQ互联提供的iOS,Android等平台的SDK包,用户体验统一,只需要修改少量代码,不需要理解验证授权流程,需要快速接入QQ登录的应用可选用此方法。
iOS与Android版本的SDK均支持web view与浏览器两种方式,即支持跳转到手机浏览器上进行QQ登录与验证流程,开发者可在SDK包中选择浏览器模式即可,但浏览器方式用户跳跃较大,不建议使用。
详见:SDK下载
(2)根据QQ登录OAuth2.0协议,自主开发,此方法自定义程度较高,需要与现有系统进行整合的移动应用可选用此方法。
建议移动应用使用webview的方式打开登录页面,登录成功后,获取accesstoken与openid,webview控件关闭,用户体验较好。
详见:OAuth2.0开发文档
对于Android2.1以下版本,访问https时会遇到签名证书验证的问题,解决方案可参考这里

什么是“QQ登录OAuth2.0”

什么是“QQ登录OAuth2.0”

OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。
QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。
Tips
如果您想对OAuth2.0开放标准进行扩展阅读,请参看:OAuth标准(英文) OAuth维基百科(中文)

APP唤起QQ实现三方授权登录 iOS_SDK环境搭建

APP唤起QQ实现三方授权登录 iOS_SDK环境搭建

QQ登录iOS SDK 封装了QQ登录的登录授权以及大部分OpenAPI,应用只需要修改相应参数,不需要理解验证授权流程,即可快速实现QQ登录功能。
iOS平台上(iPad,iPhone,iPod)的应用,请在申请appid,appkey后,使用QQ互联提供的iOS SDK。
1.5版本增加 QQAPI 对象,以支持手机QQ的调用。以前申请过 APPID 类似“QQXXXXXXXX”的开发商,建议重新申请。为了兼容旧版本的手机QQ,需要增加 URL Scheme,QQ + 十六进制新AppId,不足八位在首部补0。(如 appid=222222 则 scheme=QQ0003640E)
详情请参考iOS_SDK_API_使用说明
本SDK仅适用于移动应用,即基于使用Implicit_Grant方式获取Access_Token接入的应用。

变更历史

可参考文档 iOS_SDK历史变更

1. iOS SDK 下载

请到SDK下载页面下载最新版本QQ登录iOS SDK。

2. iOS SDK目录结构

iOS SDK包中带有两个文件:
1. TencentOpenAPI.framework打包了iOS SDK的头文件定义和具体实现。
2. TencentOpenApi_iOS_Bundle.bundle 打包了iOS SDK需要的资源文件。(从sdk3.3.5版本开始,此文件可以不要了)

3. 将iOS SDK文件添加到工程中

1. 将iOS SDK中的TencentOpenAPI.framework和TencentOpenApi_IOS_Bundle.bundle文件拷贝到应用开发的目录下。
然后将TencentOpenAPI.framework从SDK的保存目录拖拽到工程导航视图(project navigator)中的Frameworks虚拟目录下。

注意TencentOpenAPI.framework和TencentOpenApi_IOS_Bundle.bundle必须放到应用的资源的根目录下,否则会出现资源无法加载的问题。

2. 在弹出的对话框中勾选“Create groups for any added folders”,去掉“copy items into destination group’s folder(if needed)”,在Add to targets中选择要加入SDK的target之后点击finish。完成之后就将iOS SDK的framework文件加入了开发工程中。


3. 添加SDK依赖的系统库文件。分别是“Security.framework”,“libiconv.dylib”,“SystemConfiguration.framework”,“CoreGraphics.Framework”、“libsqlite3.dylib”、“CoreTelephony.framework”、“libstdc++.dylib”、“libz.dylib”。
在Xcode中打开工程配置文件,选择“summary”一栏。


4. 在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标。


5. 直接在默认库文件中选择后点击“Add”,下图以添加“SystemConfiguration.framework”为例:



6. 返回后看到“SystemConfiguration.framework”已经在“Linked Frameworks and Libraries”中出现。

7. 在Xcode中打开工程配置文件,选择“Build Phases”一栏。


8.在“Build Phases”中选择展开“Copy Bundle Resources”一栏,并点击“+”图标


9. 选择“Add Other…”,进入iOS SDK文件所在目录,选择TencentOpenApi_IOS_Bundle.bundle,点击回车或者点击“Open”。



10. 返回后看到TencentOpenApi_IOS_Bundle.bundle已经在“Copy Bundle Resources”中出现。


11. 修改必要的工程配置属性。
在工程配置中的“Build Settings”一栏中找到“Linking”配置区,给“Other Linker Flags”配置项添加属性值“-fobjc-arc”。

4. 修改必要的代码

4.1 修改工程配置文件

(1)配置URL Scheme

在XCode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type”添加一条新的“URL scheme”,新的scheme = tencent + appid。如果您使用的是XCode3或者更低的版本,则需要在plist文件中添加。Demo中我们注册的appid是222222。如下图

(2)配置LSApplicationQueriesSchemes

如下图对照sdkDemo的配置,进行填写,根据备注中的说明可以酌情删减。

互联SDK中使用的scheme备注
mqq://比较常用
mqqapi://比较常用
tim://比较常用
mqqopensdknopasteboard://比较常用
mqqopensdkapiV2://比较常用
mqqgamebindinggroup://判断设备上QQ是否支持绑定群
mqqopensdkavatar://判断设备上QQ是否支持设置头像
mqqopensdkfriend://判断设备上QQ是否支持添加好友
mqqopensdklaunchminiapp://判断设备上QQ是否支持启动小程序
mqzone://判断设备上是否安装了QQ空间
tencentapi.qq.reqContent://只在 [TencentApiInterface isTencentAppSupportTencentApi]方法中用到
tencentapi.qzone.reqContent://只在 [TencentApiInterface isTencentAppSupportTencentApi]方法中用到
mqqthirdappgroup://判断设备上QQ是否支持第三方应用加群
mqqopensdkminiapp://判断设备上QQ是否支持小程序的相关API

如果这个URL Scheme没有正确配置的话,跳到手Q会报这个错误:

4.2 重写AppDelegate 的handleOpenURL和openURL方法

openURL:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
   return [TencentOAuth HandleOpenURL:url];
}

handleOpenURL:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
   return [TencentOAuth HandleOpenURL:url];
}

注意:Xcode11之后引入的SceneDelegate,如果业务的应用不支持多窗口可以直接删除项目info.plist文件中的Application Scene Manifest的配置数据,如果要支持多窗口,需要对系统AppDelegate和SceneDelegate做一些异化处理,总之QQ回来的URL交给TencentOauth来handle。

4.3 在代码中实现TencentSessionDelegate协议中的方法

具体协议可以参照TencentOpenAPI.framework /Headers中的TencentOAuth.h文件。

4.4 初始化iOS SDK API数据对象TencentOAuth。

(1) 创建TencentOAuth并初始化其appid,demo为222222。delegate为实现TencentSessionDelegate的对象:

[TencentOAuth setIsUserAgreedAuthorization:YES];

_tencentOAuth = [[TencentOAuth alloc] initWithAppId:@"222222", andDelegate:self];

这里delegate不能为空

(2) 初始化redirectURI(这里需要填写注册APP时填写的域名。默认可以不用填写。建议不用填写。demo中注册时的地址是“www.qq.com”):

_tencentOAuth.redirectURI = @"www.qq.com";

(3)设置应用需要用户授权的API列表。 (建议如果授权过多的话,可能会造成用户不愿意授权。这里最好只授权应用需要用户赋予的授权。):

_permissions = [[NSArray arrayWithObjects:@"get_user_info",@"get_simple_userinfo", @"add_t", nil] retain];

4.5设置用户是否同意隐私协议。

3.5.7版本更新后,在初始化SDK之前必须设置用户同意授权隐私协议,如果没有设置或者设置为NO(不同意)则无法使用SDK的接口,设置方式如下:

[TencentOAuth setIsUserAgreedAuthorization:YES];

5. 调用SDK登录

1.登录时,调用TencetnOAuth对象的authorize方法:

[_tencentOAuth authorize:_permissions inSafari:NO];

2. 登录完成后,会调用TencentSessionDelegate中关于登录的协议方法。
登录成功:

@protocol TencentSessionDelegate <NSObject>
- (void)tencentDidLogin
{
   _labelTitle.text = @"登录完成";
   if (_tencentOAuth.accessToken && 0 != [_tencentOAuth.accessToken length])
   {
   // 记录登录用户的OpenID、Token以及过期时间
      _labelAccessToken.text = _tencentOAuth.accessToken;
   }
   else
   {
      _labelAccessToken.text = @"登录不成功 没有获取accesstoken";
   }
}

非网络错误导致登录失败:

@protocol TencentSessionDelegate <NSObject>
-(void)tencentDidNotLogin:(BOOL)cancelled
{
   if (cancelled)
   {
      _labelTitle.text = @"用户取消登录";
   }
   else
   {
      _labelTitle.text = @"登录失败";
   }
}

网络错误导致登录失败:

@protocol TencentSessionDelegate <NSObject>
-(void)tencentDidNotNetWork
{
   _labelTitle.text=@"无网络连接,请设置网络";
}

3. 登录成功后,即可获取到access token和openid。accessToken和 openid保存在TencentOAuth对象中。可以通过相应的属性方法直接获得。

[_tencentOAuth accessToken] ;
[_tencentOAuth openId] ;

特别提示:
1.由于登录是异步过程,这里可能会由于用户的行为导致整个登录的的流程无法正常走完,即有可能由于用户行为导致登录完成后不会有任何登录回调被调用。开发者在使用SDK进行开发的时候需要考虑到这点,防止由于一直在同步等待登录的回调而造成应用的卡死,建议在登录的时候将这个实现做成一个异步过程。
2.获取到的access token具有30天有效期,过期后提示用户重新登录授权。
3. 第三方网站可存储access token信息,以便后续调用OpenAPI访问和修改用户信息时使用。如果需要保存授权信息,需要保存登录完成后返回的accessToken,openid 和 expirationDate三个数据,下次登录的时候直接将这三个数据是设置到TencentOAuth对象中即可。
获得:

[_tencentOAuth accessToken] ;
[_tencentOAuth openId] ;
[_tencentOAuth expirationDate] ;

设置:

[_tencentOAuth setAccessToken:accessToken] ;
[_tencentOAuth setOpenId:openId] ;
[_tencentOAuth setExpirationDate:expirationDate] ;

4. 建议应用在用户登录后,即调用getUserInfo接口获得该用户的头像、昵称并显示在界面上,使用户体验统一。

错误码100016 APP拉起QQ登录返回错误码100016

错误码100016 APP拉起QQ登录返回错误码100016

access_token校验失败。建议先重新走登录流程来换取新的access_token,使用新的access_token仍然无法通过校验,请通过企业QQ联系技术支持(号码:800030681。直接在QQ的“查找联系人”中输入号码即可开始对话)。

100016access_token校验失败。建议先重新走登录流程来换取新的access_token,使用新的access_token仍然无法通过校验,请通过企业QQ联系技术支持(号码:800030681。直接在QQ的“查找联系人”中输入号码即可开始对话)。

返回错误码100015 APP唤起QQ登录返回错误码100015

返回错误码100015 APP唤起QQ登录返回错误码100015

access_token失效。要重新走登录流程,获取新的access_token。
产生该错误有两个原因:
1. 用户在QQ空间里取消了对应用的授权,会导致当前保存到应用里的AccessToken被废除掉。
2. 用户在不同的设备上进行了QQ登录,导致在原来设备上的保存的AccessToken被废除掉。

100015access_token失效。要重新走登录流程,获取新的access_token。
产生该错误有两个原因:
1. 用户在QQ空间里取消了对应用的授权,会导致当前保存到应用里的AccessToken被废除掉。
2. 用户在不同的设备上进行了QQ登录,导致在原来设备上的保存的AccessToken被废除掉。

返回错误码100014 APP唤起QQ登录安卓APP返回错误100014

返回错误码100014 APP唤起QQ登录安卓APP返回错误100014

access_token过期,目前支持的access_token有效期为30天,需要重新走登录流程,获取新的access_token。
后期也可以使用Refresh Token来获取新的access_token(该功能即将上线)

100014access_token过期,目前支持的access_token有效期为30天,需要重新走登录流程,获取新的access_token。
后期也可以使用Refresh Token来获取新的access_token(该功能即将上线)

网站接入QQ互联使用QQ登录效果展示

网站接入QQ互联使用QQ登录效果展示

下面描述了一个网站使用“QQ登录”,并访问和修改QQ用户个人信息的整个过程。

注意
这里的描述意在简单的向网站开发者演示接入“QQ登录”需要进行哪些工作,以及效果如何。

3.1 网站上设置QQ登录入口

网站开发者可以在自己的网站首页入口和主要的登录、注册页面上放置“QQ登录”标识(见红色方框标记处)

3.2 用户选择用QQ帐号登录

用户点击按钮之后弹出QQ登录的窗口,在登录窗口中将显示网站自己的Logo标识,网站名称以及首页链接地址。
如下图所示:


如果用户已登录QQ软件,就不用重复输入帐号密码,可以一键实现快速登录并且可以选择授权允许网站访问自己的相关信息:
如下图所示:

3.3 用户进行帐号绑定

若用户已在该网站注册,则网站可引导用户进行帐号绑定,下次使用QQ帐号登录时,可以同时看到两个帐号的所有信息。
强烈建议网站允许跳过此步,而让用户在登录成功后,在网站设置中选择性绑定,以降低用户登录门槛,提升体验。如下图所示:

3.4 用户成功登录网站

用户授权后成功登录网站,在网站上显示用户登录昵称与QQ头像。
建议网站在首页或顶部显示用户通过QQ帐号的登录状态,使用户体验一致,包括用户昵称、QQ头像,如下图所示:

我们提供了各种网站接入OpenAPI给开发者,网站可以调用这些API来实现需要的功能,使登录用户在网站上即可访问和修改QQ用户受保护的个人信息。

QQ互联网站应用接入方式介绍

QQ互联网站应用接入方式介绍

第三方网站主要通过使用“QQ登录”接入QQ互联开放平台。
“QQ登录”是QQ互联开放平台提供给第三方网站的一种服务。
“QQ登录”可以让用户使用QQ帐号在第三方网站上登录,分享内容、同步信息,大大降低了用户注册的门槛。
同时,第三方网站根据用户提供的绑定信息,将用户在网站上发布的内容同步发布到QQ空间的个人动态中,从而借助QQ空间庞大的用户群,使网站的信息能通过好友关系得到进一步的传播,提升网站的访问量和用户数。

应用宝应用商店年龄分级标准说明

应用宝应用商店年龄分级标准说明

分级类别分级描述内容定义
3+适合3岁及以上的幼儿此类内容不包含暴力、惊吓、粗俗用语等任何受限制内容,一般情况下,适合各个年龄段的用户。
8+适合8岁及以上年龄此类内容基本健康,也许包含少量卡通暴力或极少的不良用语,但不得含有现实暴力(针对人类外形或动物形象)或惊吓的内容(可能惊吓到儿童的声音或场景)
12+适12岁以上年龄此类内容可能包含少量的轻微现实暴力(针对虚拟形象的暴力内容以及含蓄的针对人类形象或动物形象的暴力内容)或少量的含蓄粗俗用语(轻度的粗口,且不含性相关粗口),但不得含有粗俗幽默内容。
16+适合16岁及以上年龄内容可能会包含较少的现实暴力、粗俗内容(不得包含性粗口),但不得含有性暗示内容(例如两性笑话、裸露内容等),不得含有惊悚/恐怖题材内容,且不应该存在任何色情或涉及吸烟、饮酒的相关内容。
18+适合18岁及以上的成人此类内容仅适用于成人受众群体、合法且符合相关政策规定以及正确社会道德价值观的内容可面向此年龄段的用户发布。但不得含有色情、虚拟赌博、吸毒、激烈的暴力(如过度血腥、残肢、严刑拷打等场景)的内容。

APP隐私政策模板 个人信息规范名称参考

个人信息规范名称参考

个人信息规范名称
IMEIimei 
IMSIimsi用户识别码
Android_IDAndroid ID安卓ID
SIM卡序列号ICCID 
硬件序列号设备序列号 
MAC地址Mac地址 
IPIP地址 
已安装应用列表已安装APP信息 
剪切板粘贴板 
设备传感器传感器信息 
设备账户信息设备账户 
写入SDCard数据本地存储权限 
手机号码电话号码本机号码
地理位置位置定位