魅族授权APP登录 开发者账号接入SDK

开发者账号接入SDK

SDK点击下载

一、接入应用注册

所有接入应用都需要在开放平台进行统一注册(可以到open.flyme.cn统一提交接入申请),在注册流程中,应用需要提供“接入应用信息”,开放平台会据此提供应用接入需要client_id和client_secret标识。

1、接入应用信息

在应用注册中需要提供应用接入应用的信息,其中包括

参数是否必填含义
redirect_uri必须成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心。注意需要将url进行URLEncode。
scope可选请求用户授权时向用户显示的可进行授权的列表。 可填写的值是API文档中列出的业务scope。这些scope对应于开放平台提供的扩展服务,通过不同scope,将可访问服务限制在应用申请的范围,实现对于不同服务的权限管理。一方面服务使用必须通过平台申请,另一方面用户在确认授权时能明确看到对应应用需要申请哪些扩展服务、获取哪些帐号隐私数据等。在保证服务使用的同时,提升用户隐私保护,提升了用户体验。 建议控制授权项的数量,只传入必要的接口名称,因为授权项越多,用户越可能拒绝进行任何授权。
其他 待补充

2、应用标识信息

开发者在开放平台应用管理配置页填写”接入应用信息“之后,开放平台会针对应用分配独立的应用标识信息。

参数含义
client_id申请应用接入之后,分配给应用的appId
client_secret申请应用接入之后,分配给应用的appKey,该参数用于应用进行AuthCode方式获取access_token,需要保存在接入应用的业务服务器。(对于无服务器应用,可使用implict_grant方式获取access_token)

 

 

 

 

3、选择授权方式

接入应用包含两种授权方式,两种方式都可以获得业务token。结合不同的应用场景,接入应用可选择使用不同的授权方式。

 

(1)AuthCode_Grant

该方式通过AuthCode的方式进行登陆、授权、获取token,主要特点如下:

1.限用于有服务器的接入应用;

2.需要业务服务器支持client_secret的获取;

3.在获取access_token的接口中可获得RefreshToken,在应用使用周期中可通过RefreshToken和client_secret刷新token。

4.授权流程为

  • 通过访问统一登陆授权页登陆,并获取auth_code
  • 通过业务服务器接口,传递auth_code获取应用的client_secret
  • 通过返回的client_secret和auth_code调用统一的access_token获取接口获取access_token和refreshToken

5.Token刷新流程,通过本地保存的refreshToken和应用的client_secret刷新access_token

6.SDK封装了获取AuthCode的逻辑,开发者可以直接使用,具体授权逻辑待补充。

(2)Implicit_Grant

1.不需要业务服务器支持,应用可以直接通过client_id获取access_token;

2.在获取access_token的接口中不可获得RefreshToken。

3.授权流程支持访问统一授权页登陆,授权,获得token。

4.开发者可使用SDK直接调用对应授权方式,具体授权逻辑待补充。

 

4、定制登陆模块界面

登陆模块界面包含登陆页面、注册界面、找回密码相关界面。需要定制化登陆模块界面的应用,需要遵循统一的登陆界面设计规范,包含必须的视觉元素,提供登陆模块界面设计样式PSD。

针对注册和找回密码界面,因为涉及多种不同的业务逻辑,仅支持界面主色等简单定制。

(1)登陆页面 

基础页面请参考通用登陆页面。

界面元素是否保持可定制不可定制
账户输入颜色、字体文案
密码输入颜色、字体文案
登陆按钮颜色、字体文案
注册按钮颜色、字体文案
找回密码按钮颜色、字体文案
总体设计界面主色 

 

 

 

 

 

 

(2)登陆界面和找回密码界面

基础页面请参考通用的注册和找回密码界面。

界面元素是否保持可定制不可定制
总体设计界面主色业务逻辑

 

 

二、魅族开放平台MzOpenSDK接入

1、接入方式

开放平台SDK采用aar的方式提供,接入应用可将MzOpenSDK.aar包添加到代码libs目录中,并关联SDK的引用。

说明:

SDK内部在AndroidManifest.xml中已声明了以下权限:

    <uses-permission android:name=”android.permission.INTERNET” />

    <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />

    <uses-permission android:name=”android.permission.GET_ACCOUNTS” />

    <uses-permission android:name=”android.permission.USE_CREDENTIALS” />

和登陆页Activity:

<activity

    android:name=”sdk.meizu.auth.ui.AuthActivity”

    android:launchMode=”singleTask”

    android:screenOrientation=”portrait”

    android:exported=”false”/>

2、授权登陆

登陆授权的核心管理类为MzAuthenticator,其具体实现包含在MzOpenSDK的aar包当中,开发者需要根据具体的业务需求,通过该类调用不同的授权登陆接口,获得应用授权的关键数据。

如上文所述,魅族开放平台支持两种方式的授权,其分别有不同的适用场景,开发者可以根据应用需要进行选择,并通过MzAuthenticator类分别调用。

(1)AuthCode_Grant

唤起登陆授权页并处理MzAuthCodeCallBack

MzAuthenticator mAuthenticator = new MzAuthenticator(this, CLIENT_ID, REDIRECT_URL);

mAuthenticator.requestCodeAuth(TestAuthInfo.SCOPE, new CodeCallback() {
@Override
public void onError(OAuthError error) throws RemoteException {
    String errorMsg = “OAuthError: ” + error.getError();
    Toast.makeText(TestAuthActivity.this, errorMsg, Toast.LENGTH_SHORT).show();
}

@Override
public void onGetCode(String code) throws RemoteException {
    String authCodeResult = “AuthCode:” + code;
    Toast.makeText(TestAuthActivity.this, authCodeResult, Toast.LENGTH_SHORT).show();
}
});

根据authCode去业务服务器请求client_secret

该接口需要业务服务器提供。

获取access_token

根据业务服务器返回的clientSecret和第一步中获取到的authCode,通过开放平台通用的token获取接口获取accessToken。在该授权方式中,返回数据包含

参数含义
access_token开放平台业务服务依赖的accessToken
refresh_token可缓存到本地用于刷新accessToken
expire_inaccessToken过期时间
其他 

Token过期处理

在该授权方式中,开放平台支持接入应用通过业务服务器返回的clientSecret和本地缓存的refreshToken刷新accessToken。

(2)Implicit_Grant

唤起登陆授权页并处理MzImplicitCallBack

MzAuthenticator mAuthenticator = new MzAuthenticator(this, CLIENT_ID, REDIRECT_URL);

mAuthenticator.requestImplictAuth(TestAuthInfo.SCOPE, new ImplictCallback() {
@Override
public void onError(OAuthError error) throws RemoteException {
    String errorMsg = “OAuthError: ” + error.getError();
    Toast.makeText(TestAuthActivity.this, errorMsg, Toast.LENGTH_SHORT).show();
    tvAuthResult.setText(errorMsg);
}

@Override
public void onGetToken(OAuthToken token) throws RemoteException {
    String oauthTokenResult = “OAuthToken:” + token.getAccessToken();
    Toast.makeText(TestAuthActivity.this, oauthTokenResult, Toast.LENGTH_SHORT).show();
    tvAuthResult.setText(oauthTokenResult);
}
});

获取access_token

该种授权方式通过步骤一,直接在回调方法中返回了应用需要accessToken。返回数据包含

参数含义
access_token开放平台业务服务依赖的accessToken
expire_inaccessToken过期时间
其他 

Token过期处理

该种授权方式在获取token接口中不包含refreshToken,不能直接刷新token。当token过期是重新执行步骤一进行登陆获取。

通过access_token获取用户信息

接口调用请求说明

http请求方式: GET

https://open-api.flyme.cn/v2/me?access_token=eyJ1IjoiMTQ2MjM1MCIsInQiOjE0MzgxNTAzMjU5MDEsInIiOiJ2dnlQTFN4c1BuQnJzdFEifQ

参数说明

参数是否必须说明
access_tokenopen api的授权token

返回说明

正确的json返回:

{“code”:”200″,”message”:””,”redirect”:””,”value”:{“icon”:”http://img.res.meizu.com/img/download/uc/14/62/35/00/00/1462350/w200h200“,

“nickname”:”test_nickname3″,”openId”:”8mUAF421px8wVt2O3eym3saKtCAkRU-71B3qQBccPFg”}

}

参数说明
code状态码
message消息内容
icon用户头像
nickname用户昵称
openId开放平台openId

错误时会返回错误码等信息

校验access_token相关信息

接口调用请求说明

http请求方式: GET

https://open-api.flyme.cn/v2/check?access_token=eyJ1IjoiMTQ2MjM1MCIsInQiOjE0MzgxNTAzMjU5MDEsInIiOiJ2dnlQTFN4c1BuQnJzdFEifQ

参数说明

参数是否必须说明
access_tokenopen api的授权token

返回说明

正确的json返回:

{“code”:”200″,”message”:””,”value”:{“scope”:[],

“open_id”:”8mUAF421px8wVt2O3eym3saKtCAkRU71B3qQBccPFg”,

“client_id”:”z5A8pb9zA5bN”,”expired_at”:1438273448915},”redirect”:””}

参数说明
code状态码
message消息内容
open_id开放平台openId
client_idclientId
expired_at过期时间的毫秒表示

错误时会返回错误码等信息

3、快速授权登陆

在Flyme系统平台中,如果当前系统登陆了系统帐号并且支持快速登陆。MzOpenSDK封装了应用快速登陆模块,可自动识别到当前系统登陆的Flyme帐号,并跳转到快速授权登陆页面提示用户可使用系统帐号快速登陆应用。在该登陆页用户也可以根据使用场景切换为非系统帐号登陆。

在此逻辑中,SDK封装了中间处理过程,对于开发者登陆授权接口

魅族开发平台开发者注册账号教程汇总

魅族开发平台开发者注册账号教程汇总

一、注册Flyme账户

1、进入魅族开放平台。若已有Flyme账号,直接在开放平台页面右上角点击【登录】,然后选择账号管理,填写注册资料即可申请注册为企业开发者或个人开发者。若无Flyme账号,点击右上角【注册】即跳转到魅族注册页面。

二、 填写开发者资料

1、选择开发者类型

  • 个人开发者:如果您仅代表个人,请选择个人开发者。
  • 企业开发者:如果您代表某个企业、有限责任公司 (LLC)、合作伙伴或向当地政府合法注册的公司,请选择企业开发者。

*注意事项:

请谨慎选择开发者类型!个人开发者可变更为企业开发者,企业开发者注册成功后不可逆。

2、填写相关信息

个人开发者:

上传本人露脸手持身份证照片、身份证彩照正面、身份证彩照反面,填写正确的信息后提交,等待审核。

企业开发者:

上传营业执照彩扫件(复印件盖公章彩扫)、法人身份证彩扫件(复印件盖公章彩扫)、联系人露脸手持身份证,填写正确的信息后提交,等待审核。

*注意事项:

  • 注册个人开发者时,“个人真实名称”和“身份证号”必须与提供照片的信息一致。企业同理,“公司信息”、“法人身份证信息”和“联系人身份证信息”必须与提供照片信息一致。
  • 资料提交后,将会在三个【工作日】内审核完毕,超期请发邮件至open_flyme@meizu.com催审。
  • 若申请不通过,在登录开发者中心时系统将提示申请不通过的原因,请按提示修改后重新提交申请。
  • 审核通过后,请使用Google Chrome浏览器打开open.flyme.cn,退出账号并清空浏览器缓存,然后重新登录账号即可进行提交作品等操作。

三、资料变更

1、变更开发者类型:

个人开发者注册成功后,需变更开发者类型为企业开发者,选择【变更开发者类型】,填写正确的企业信息和上传正确资料后提交,等待审核。流程同企业账号注册。

*注意事项:

个人注册成功后可变更开发者类型为企业,企业注册成功后不能变更类型,因此注册时请谨慎选择。

2、变更开发者资料:

开发者注册成功后,如需变更基本资料,可自行登录开发者后台修改,审核通过即为更改成功。

(1) 个人开发者资料变更 :

上传原开发者的本人露脸手持身份证清晰照、现开发者的本人露脸手持身份证清晰照、身份证彩照正面、身份证彩照反面,填写正确的信息后提交,等待审核。

(2)企业名称变更:上传企业名称变更证明(含工商行政管理局的红章,复印件加盖公司公章)、新营业执照、法人身份证,填写正确的信息后提交,等待审核。

(3)企业法人变更:上传法人变更说明(含工商行政管理局的红章,复印件加盖公司公章)、新营业执照、现法人身份证,填写正确的信息后提交,等待审核。

(4)母子/姐妹/其他公司变更:上传公司关系说明(加盖公章)、双方的营业执照、新法人身份证彩扫件,填写正确的信息后提交,等待审核。

*注意事项:

此三项修改均可一并修改联系人信息,联系人亦可单独修改。

四、资料完善

1、登陆后选择右上角【账号管理】,即可自行修改【联系方式】与【财务信息】,企业同理;

*注意事项:

个人开发者可以使用支付宝或者工商银行账号进行结算,企业开发者是使用对公账号进行结算。

请务必填写正确且完整的银行账户信息,以便魅族开放平台与您进行结算。银行账户名称必须与银行账户持有人的姓名完全一致,如已进行开发者资料变更,请变更完成后自行修改银行账户信息。

五、验证信息变更

如需修改登录(验证)手机号、验证邮箱和登录密码,登陆后选择右上角【账号管理】,在【基本信息】点击【修改账号信息】或登录 https://i.flyme.cn修改。

魅族开发平台应用年龄分级规则

魅族开发平台应用年龄分级规则

为加强互联网应用管理,应用商店将试行应用年龄分级。现将应用适用年龄分为 5 级:3+、7+、12+、16+、18+。具体年龄分级标准如下:

分级说明
3+3 岁以上这类内容适合所有年龄段的用户。内容不得包含暴力、惊吓、粗俗内容等受限制内容。
7+7 岁以上这类内容中可以出现轻微卡通暴力内容(即暗示性或不逼真的暴力内容)。不得包含现实暴力,不得包含一些会吓到儿童的场景或音效,。
12+12 岁以上允许出现涉及虚构角色的暴力内容和/或不以图片形式呈现人形角色或动物的暴力内容。此外,允许不以图片形式呈现轻微粗俗用语,但不得出现淫秽脏话。不得出现强诱导性(氪金、骚扰等)内容。
16+16 岁以上允许包含少量的暴力内容、强刺激性的言语(不包含性粗口),不得含有性暗示内容。
18+18 岁以上不得含有激烈的暴力内容(如:残肢、严刑拷打等场景)、不得含有色情、虚拟赌博、吸毒等内容。

什么是魅族开放平台

魅族开放平台(以下简称为开放平台)是由魅族通讯设备有限公司(以下简称为魅族公司)建立,拟为魅族开发者(以下简称为开发者)提供的与魅族公司互动的开放式平台。任何有意成为开发者的个人或企业经自愿申请注册后,可自愿将其合法开发所有的软件成果(包括第三方软件、游戏、主题等相关内容)通过开放平台下的业务模块(应用中心、游戏中心、主题、以及未来可能提供的业务)向魅族公司提交,经魅族公司专业审核、检测通过后,供广大魅族用户下载使用。对于经魅族公司认可的收费软件成果,开发者可按约定享有收费销售带来的收益。