提交 e7933423 编写于 作者: D DCloud_LXH

Merge branch 'master' of https://github.com/dcloudio/unidocs-zh into vuepress

......@@ -176,13 +176,8 @@ uni.login({
#### App端集成其他登录SDK如支付宝、淘宝、facebook登录的说明 @app-oauth
1. [支付宝登录](https://ext.dcloud.net.cn/search?q=%E6%94%AF%E4%BB%98%E5%AE%9D%E7%99%BB%E9%99%86)[淘宝登录](https://ext.dcloud.net.cn/search?q=%E7%99%BE%E5%B7%9D)[抖音登录](https://ext.dcloud.net.cn/search?q=%E6%8A%96%E9%9F%B3%E7%99%BB%E5%BD%95)等在插件市场均已有插件,还有[sharesdk](https://ext.dcloud.net.cn/search?q=sharesdk)等专业集成多家登录分享的插件。
2. 现已支持登录:
<<<<<<< HEAD
- [facebook 登录](/tutorial/app-oauth-facebook)
- [Google 登录](/tutorial/app-oauth-google)
=======
- [facebook 登录 (3.4.0+)](/app-oauth-facebook)
- [Google 登录 (3.4.0+)](/app-oauth-google)
>>>>>>> f823f2f (update: google、facebook provider)
3. 也可以内嵌web-view组件,使用web登录模式集成这些三方登录
......
根据苹果审核指南要求,如果 App 使用第三方或社交登录服务 (例如,Facebook 登录、Google 登录、通过 Twitter 登录、通过 LinkedIn 登录、通过 Amazon 登录或微信登录) 来对其进行设置或验证这个 App 的用户主帐户,则该 App 必须同时提供“通过 Apple 登录”作为同等选项。详情参考:[App Store 审核指南 - 通过 Apple 登录](https://developer.apple.com/cn/app-store/review/guidelines/#sign-in-with-apple)
> HBuilderX2.4.7+版本新增支持`苹果登录(Sign in with Apple`,苹果登录是** iOS13** 新增加的功能,当你的应用使用了第三方登录比如微信登录,同时也需要集成苹果登录,否则提交AppStore审核会被拒绝
### 开通
使用苹果登录首先需要在苹果开发者后台开启 App 的 `Sign In with Apple` 服务:
- 登录到[苹果开发者后台](https://developer.apple.com/)
-[Identifiers](https://developer.apple.com/account/resources/identifiers/list)页面选择应用的 App ID(Bundle ID)进入编辑 `Capabilities` 界面,勾选 `Sign In with Apple` 服务并保存
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/apple-appid.png)
- 修改 `Sign In with Apple` 配置后需要到 [Profiles](https://developer.apple.com/account/resources/profiles/list) 更新 profile 描述文件(不需要新建),点击 Edit 重新编辑对应的 profile 文件,然后下载保存使用新的 profile 文件即可
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/apple-profile.png)
> 注:只有发布Appstore的应用才能使用苹果登录。企业版开发者账号不支持 `Sign In with Apple` (企业版开发者账号指的是用于企业内部分发App,不能用于发布 App Store 的账号,也就是价格为 299$ 的账号)
### 配置
打开项目的manifest.json文件,在“App模块配置”项的“OAuth(登录鉴权)”下,勾选“苹果登录(Sign in with Apple)”:
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/apple-manifest.png)
**注意**
- HBuilderX中标准真机运行基座使用的是企业证书签名,不支持`Sign In with Apple`
- 配置后需提交云端打包后才能生效,真机运行时请使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115)
### 使用苹果登录
- uni-app项目
调用 [uni.login(OBJECT)](api/plugins/login?id=login) 发起授权登录,,调用 [uni.getUserInfo(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getuserinfo) 获取用户信息,OBJECT参数中provider属性值固定为`apple`
- 5+ App项目
调用 [plus.oauth.getServices(successCB,errorCB)](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.getServices) 获取登录服务对象 [plus.oauth.AuthService](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService), 再调用其 [login](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.login) 方法进行登录授权
#### 登录按钮样式
苹果对登录按钮样式有要求,请按照苹果要求统一设置登录按钮的样式,否则审核可能会被拒绝,注意以下事项:
- 按钮必须在显著的位置(避免滑动屏幕才能看到)
- 登录按钮有三种外观:白色,带有黑色轮廓线的白色和黑色,其他设计可能会影响审核;
- 按钮圆角范围及按钮最小尺寸也有要求;
- 具体规则请参考苹果 [官方文档](https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/)
下面是原生端默认的几种按钮样式供大家参考(width:130pt, height:30pt, corner radius: 6pt)
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/apple-style-zh.png)
#### 示例代码
> 注:因为是 iOS13+ 系统才支持苹果登录,所以建议在App的界面入口判断下,只有 iOS13 才显示Apple登录的选项
- uni-app项目
``` js
uni.login({
provider: 'apple',
success: function (loginRes) {
// 登录成功
uni.getUserInfo({
provider: 'apple',
success: function(info) {
// 获取用户信息成功, info.authResult中保存登录认证数据
}
})
},
fail: function (err) {
// 登录授权失败
// err.code错误码参考`授权失败错误码(code)说明`
}
});
```
- 5+ App项目
``` js
var appleOauth = null;
plus.oauth.getServices(function(services) {
for (var i in services) {
var service = services[i];
// 获取苹果授权登录对象,苹果授权登录id 为 'apple' iOS13以下系统,不会返回苹果登录对应的 service
if (service.id == 'apple') {
appleOauth = service;
break;
}
}
appleOauth.login( function(oauth){
// 授权成功
// appleOauth.authResult中保存通用认证数据
// appleOauth.appleInfo中保存苹果登录认证完整数据,参考`appleInfo`说明
}, function(err) {
// 登录授权失败
// err.code是错误码
}, {
// 默认只会请求用户名字信息,如需请求用户邮箱信息,需要设置 scope: 'email'
scope: 'email'
})
}, function(err) {
// 获取 services 失败
})
```
**appleInfo**
属性|类型|说明
:--|:--|:--|
user|String|苹果用户唯一标识符
state|String|验证信息状态
email|String|用户共享的可选电子邮件
fullName|Object|用户共享的可选全名
authorizationCode|String|验证数据
identityToken|String|Web令牌(JWT)
realUserStatus|Number|标识用户是否为真实的人 0:当前平台不支持,忽略该值;1:无法确认;2:用户真实性非常高
scope|String|返回信息作用域
**fullName**
属性|类型|说明
:--|:--|:--|
namePrefix|String|名字前缀,头衔、敬称
givenName|String|名字
middleName|String|中间名
familyName|String|姓
nameSuffix|String|名字后缀,学位、荣誉
nickName|String|昵称
**授权失败错误码(code)说明**
code|说明
:--|:--|
1000|未知错误
1001|取消授权
1002|返回值无效
1003|请求未处理
1004|授权失败
### 注意事项
1. 内置基座为企业证书签名不支持Sign in with Apple,需要提交云打包或制作自定义基座进行功能测试
2. 只有首次弹出登录授权框时才会有用户名及email的项(email需要配置 scope: 'email' ),并且用户可以删除或编辑用户名或隐藏用户邮箱,如果用户删除了用户名授权成功后fullname字段也会为空
3. 授权成功后再次调用登录接口会先校验上次授权是否依然有效,如有效,直接回调成功并返回上次授权成功时的数据,**注意,此校验不会校验identityToken是否过期**,需要用户自行处理;如果想每次都弹出授权框获取新的identityToken等信息,需要先调用'logout()',然后在调用登录接口就会弹出授权框,注意这时授权框内不会在出现用户名及邮箱,登录成功后这两个字段会为空,需要拿到 authorizationCode,identityToken 后传给服务器,然后和苹果服务器验证可获取用户名称等信息,具体请自行查阅文档;如果想在授权框中再次出现用户名或邮箱。需要在 系统设置->AppleID->密码与安全性->使用Apple ID 的 App 里面取消授权,然后再调用登录接口
#### 准备条件
- 可访问Facebook服务器
注意:中国境内可能无法访问Fackbook服务器
- 注册Facebook账号,登录[Facebook](http://www.facebook.com)
#### 创建应用
* 打开[Facebook开发者中心](http://developers.facebook.com/)
* 点击右上角"我的应用"
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/9e3ba994-95b0-46d6-9e40-0c18b9fac5d3.png)
* 进入应用管理界面,点击"创建应用"
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/0d96a58b-e31d-4f86-9372-dd84249a498b.png)
* 根据需要选择应用产品的类型(应用类型详见"详细了解应用类型"),然后点击继续
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/a940cfc2-8e8c-44cf-9334-56cb282d4f52.png)
* 填写应用信息
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/57f5f5c0-27ca-4aa7-9e68-fb051c8afccb.png)
* 创建完成后即可获取应用的应用编号(即appID)
* 为应用添加登录功能
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/4e7ad147-e4ce-40eb-a1b0-2381bdc53813.png)
#### 设置登录-iOS
* 我的应用--设置--基本,选择添加平台,选择iOS
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/cebc70d2-da0e-4708-9d05-d5f5d80de1ca.png)
* 填写信息保存即可
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/70038074-8c3a-4db8-99ab-49e14b951c79.png)
#### 设置登录-Android
* 我的应用--设置--基本,选择添加平台
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/a8fe2779-1142-452b-a4b0-f4bd61695770.png)
* 选择android平台,应用商店选择Google Play
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/afa346b7-a001-47b1-9c7e-914074153ac3.png)
* 填写必要的包名和散列信息,类名是固定的。如图
散列的获取方法,参考文档:
https://developers.facebook.com/docs/facebook-login/android 第六小节
如果获取到的散列位数不对,需要找台linux/mac 计算机。
使用下面的命令获取
keytool -exportcert -alias hbuilder -keystore ./HBuilder.keystore | openssl dgst -sha1 -binary | openssl base64
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/4c59adf0-cb40-41d7-95d4-e26102aeacd9.png)
#### 应用权限
使用Facebook登录需开启"public_profile"以及"email"的访问权限
点击"应用审核"-"权限和功能",开启"public_profile"以及"email"的高级访问权限
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/28dac1d2-f714-4477-a5c8-dd2e1b894894.png)
#### 准备条件
- 可访问Google服务器
注意:中国境内无法访问Google服务器
- 注册Google账号
#### Android开通步骤
* 打开Google 登录引导页
网址: https://developers.google.com/identity/sign-in/android/sign-in?hl=zh-cn
* 选择项目配置
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/636a9bd3-77d7-4539-b46c-0c798eb49350.png)
点击后出现项目与应用选择界面,如果你有已创建过的Firebase项目,可以直接选择。如果没有,可以选择新建一个Google Api 项目。
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/f206ec8a-c82d-41f4-9e6d-d838e21a4857.png)
* 选择项目后,在该项目下新建一个应用
选择应用平台 android
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/09c5a8aa-c698-4133-9a11-d73d59e37da5.png)
需要填写应用的包名和sha1指纹,指纹的获取方法在界面上有提示。按照提示操作即可。
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/d14feca3-94b5-467e-b197-d98b866072bc.png)
点击创建,即可完成开通步骤。
#### iOS开通步骤
* 打开[Google登录iOS引导页](http://developers.google.com/identity/sign-in/ios/start-integrating?hl=zh-cn)
* 点击创建OAuth客户端ID,填写项目名称
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/1978e9aa-5e11-4586-9caf-1c1b7c3e71bd.png)
* 选择iOS平台、填写BundleID后,点击CREATE,即可获取Client ID
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/26045e0b-b6f0-4c22-aa61-0d63120e1a4b.png)
### 开通
- 登录[腾讯开放平台](https://connect.qq.com/index.html),打开 “应用管理” -> “移动应用” 页面
- 在页面中选择 “创建应用” -> “创建移动应用”,根据提示填写信息创建应用
- 创建成功后,在应用详情中页面可以获取 APP ID
- 在应用详情页面的 “基本信息” -> “平台信息” 中,点击“修改”可以设置iOS平台的通用链接(UniversalLink)
更多信息详见QQ官方文档 [移动应用接入概述](https://wiki.connect.qq.com/%e7%a7%bb%e5%8a%a8%e5%ba%94%e7%94%a8%e6%8e%a5%e5%85%a5%e6%a6%82%e8%bf%b0)
### 配置
打开项目的manifest.json文件,在“App模块配置”项的“OAuth(登录鉴权)”下,勾选“QQ登录”:
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/qq-manifest.png)
- appid
QQ开放平台申请应用的AppID值
- UniversalLinks
iOS平台通用链接,必须与QQ开放平台配置的一致,推荐使用[一键生成iOS通用链接](https://uniapp.dcloud.io/api/plugins/universal-links.html)
**注意**
- HBuilderX中标准真机运行基座使用的是DCloud申请HBuilder应用的AppID等信息,仅用于体验QQ登录功能
- 配置参数需提交云端打包后才能生效,真机运行时请使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115)
### 使用QQ登录
- uni-app项目
调用 [uni.login(OBJECT)](api/plugins/login?id=login) 发起授权登录,调用 [uni.getUserInfo(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getuserinfo) 获取用户信息,OBJECT参数中provider属性值固定为`qq`
- 5+ App项目
调用 [plus.oauth.getServices(successCB,errorCB)](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.getServices) 获取登录服务对象 [plus.oauth.AuthService](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService), 再调用其 [login](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.login) 方法进行登录认证、[getUserInfo](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.getUserInfo)方法获取用户信息
#### 示例代码
- uni-app项目
``` js
uni.login({
provider: 'qq',
success: function (loginRes) {
// 登录成功
uni.getUserInfo({
provider: 'qq',
success: function(info) {
// 获取用户信息成功, info.authResult保存用户信息
}
})
},
fail: function (err) {
// 登录授权失败
// err.code是错误码
}
});
```
- 5+ App项目
``` js
var qqOauth = null;
plus.oauth.getServices(function(services) {
for (var i in services) {
var service = services[i];
// 获取微信登录对象
if (service.id == 'qq') {
qqOauth = service;
break;
}
}
qqOauth.login( function(oauth){
// 授权成功,qqOauth.authResult 中保存授权信息
}, function(err) {
// 登录授权失败
// err.code是错误码
})
}, function(err) {
// 获取 services 失败
})
```
### 开通
- 登录[新浪微博开放平台](http://open.weibo.com/),打开 “移动应用 MOBILE” 页面
- 在页面中选择 “立即接入”,根据提示填写信息创建应用
- 创建成功后,在 “我的应用” 中点击应用,可以在应用详情页面
- 在应用详情页面的 “应用信息” -> “基本信息” 中可获取 App Key,点击编辑可设置iOS平台的通用链接(UniversalLink)
- 在应用详情页面的 “应用信息” -> “高级信息” -> “OAuth2.0 授权设置” 中可以设置授权回调页(redirect_url)
更多信息详见新浪微博官方文档 [移动应用接入](https://open.weibo.com/wiki/Connect/login)
### 配置
打开项目的manifest.json文件,在“App模块配置”项的“OAuth(登录鉴权)”下,勾选“新浪微博登录”:
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/sina-manifest.png)
- appkey
新浪微博开放平台申请应用的AppKey值
- redirect_url
新浪微博开放平台申请应用中设置的授权回调页
- UniversalLinks
iOS平台通用链接,必须与新浪微博开放平台配置的一致,推荐使用[一键生成iOS通用链接](https://uniapp.dcloud.io/api/plugins/universal-links.html)
**注意**
- HBuilderX中标准真机运行基座使用的是DCloud申请HBuilder应用的AppID等信息,仅用于体验新浪微博登录功能
- 配置参数需提交云端打包后才能生效,真机运行时请使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115)
### 使用QQ登录
- uni-app项目
调用 [uni.login(OBJECT)](api/plugins/login?id=login) 发起授权登录,调用 [uni.getUserInfo(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getuserinfo) 获取用户信息,OBJECT参数中provider属性值固定为`sinaweibo`
- 5+ App项目
调用 [plus.oauth.getServices(successCB,errorCB)](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.getServices) 获取登录服务对象 [plus.oauth.AuthService](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService), 再调用其 [login](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.login) 方法进行登录认证、[getUserInfo](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.getUserInfo)方法获取用户信息
#### 示例代码
- uni-app项目
``` js
uni.login({
provider: 'sinaweibo',
success: function (loginRes) {
// 登录成功
uni.getUserInfo({
provider: 'sinaweibo',
success: function(info) {
// 获取用户信息成功, info.authResult保存用户信息
}
})
},
fail: function (err) {
// 登录授权失败
// err.code是错误码
}
});
```
- 5+ App项目
``` js
var weiboOauth = null;
plus.oauth.getServices(function(services) {
for (var i in services) {
var service = services[i];
// 获取微信登录对象
if (service.id == 'sinaweibo') {
weiboOauth = service;
break;
}
}
weiboOauth.login( function(oauth){
// 授权成功,weiboOauth.authResult 中保存授权信息
}, function(err) {
// 登录授权失败
// err.code是错误码
})
}, function(err) {
// 获取 services 失败
})
```
### 开通
- 登录[微信开放平台](https://open.weixin.qq.com/),添加移动应用并提交审核,审核通过后可获取应用ID(AppID),AppSecret等信息
- 在应用详情中`申请开通`微信登录功能,根据页面提示填写资料,提交审核
- 申请审核通过后即可打包使用微信授权登录功能
更多信息详见微信官方文档 [移动应用微信登录开放指南](https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Development_Guide.html)
### 配置
打开项目的manifest.json文件,在“App模块配置”项的“OAuth(登录鉴权)”下,勾选“微信登录”:
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/weixin-manifest.png)
- appid
微信开放平台申请应用的AppID值
- appSecret
微信开放平台申请应用的AppSecret值
- UniversalLinks
iOS平台通用链接,必须与微信开放平台配置的一致,推荐使用[一键生成iOS通用链接](https://uniapp.dcloud.io/api/plugins/universal-links.html)
**注意**
- HBuilderX中标准真机运行基座使用的是DCloud申请HBuilder应用的AppID等信息,仅用于体验微信登录功能
- 配置参数需提交云端打包后才能生效,真机运行时请使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115)
### 使用微信登录
- uni-app项目
调用 [uni.login(OBJECT)](api/plugins/login?id=login) 发起授权登录,调用 [uni.getUserInfo(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getuserinfo) 获取用户信息,OBJECT参数中provider属性值固定为`weixin`
- 5+ App项目
调用 [plus.oauth.getServices(successCB,errorCB)](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.getServices) 获取登录服务对象 [plus.oauth.AuthService](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService), 再调用其 [login](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.login) 方法进行登录认证、[getUserInfo](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.getUserInfo)方法获取用户信息
#### 示例代码
- uni-app项目
``` js
uni.login({
provider: 'weixin',
success: function (loginRes) {
// 登录成功
uni.getUserInfo({
provider: 'weixin',
success: function(info) {
// 获取用户信息成功, info.authResult保存用户信息
}
})
},
fail: function (err) {
// 登录授权失败
// err.code是错误码
}
});
```
- 5+ App项目
``` js
var weixinOauth = null;
plus.oauth.getServices(function(services) {
for (var i in services) {
var service = services[i];
// 获取微信登录对象
if (service.id == 'weixin') {
weixinOauth = service;
break;
}
}
weixinOauth.login( function(oauth){
// 授权成功,weixinOauth.authResult 中保存授权信息
}, function(err) {
// 登录授权失败
// err.code是错误码
})
}, function(err) {
// 获取 services 失败
})
```
<a id="secret"/>
#### 配置参数安全性问题
HBuilderX中配置的appsecret参数云端打包后会保存在apk/ipa中,对于安全性要求高的开发者可能担心存在参数泄露的风险,可以采取以下方式处理。
- 在HBuilderX中仅配置appid,appsecret参数随意输入,调用 [uni.login(OBJECT)](api/plugins/login?id=login) 时设置 `onlyAuthorize` 为 true,成功回调中通过 info.code 获取授权临时票据(code)
- 通过服务器完成授权认证
在客户端获取授权临时票据(code)后提交业务服务器,在业务服务器使用code+appsecret向微信开放平台获取用户信息,这种方式appsecret仅保存在业务服务器,安全性更高
微信开放平台服务器的对接流程参考:[授权后接口调用](https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317853&token=&lang=zh_CN)
> 注:5+ App项目可以调用weixinOauth对象的 [authorize](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.authorize)方法请求授权获取临时票据(code)
App端OAuth(登录鉴权)模块封装了市场上主流的三方登录SDK,提供JS API统一调用登录鉴权功能。
|项目类型|API|
|:-|:-|
|uni-app|[uni.preLogin(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=prelogin)[uni.login(OBJECT)](api/plugins/login?id=login)[uni.getUserInfo(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getuserinfo)[uni.closeAuthView()](https://uniapp.dcloud.io/api/plugins/login?id=closeauthview)[uni.getCheckBoxState(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getcheckboxstate)[uni.getUniverifyManager(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getuniverifymanager)|
|5+App/Wap2App|[plus.oauth.*](https://www.html5plus.org/doc/zh_cn/oauth.html)
如果服务端使用[uniCloud](https://uniapp.dcloud.io/uniCloud/README),官方提供了[uni-id](https://uniapp.dcloud.net.cn/uniCloud/uni-id)云端统一登录服务,把微信登录、短信验证码登录及角色权限管理等服务端登录开发,进行了统一的封装。前端统一的`uni.login`和云端统一的`uni-id`搭配,可以极大提升登录业务的开发效率,强烈推荐给开发者使用。uni-id的文档另见:[https://uniapp.dcloud.net.cn/uniCloud/uni-id](https://uniapp.dcloud.net.cn/uniCloud/uni-id)
使用登录鉴权功能需在项目manifest.json的“App模块配置”中勾选“OAuth(登录鉴权)”,并根据项目实际情况勾选使用的三方登录平台:
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/modules.png)
> 提示:三方登录模块参数配置需提交云端打包后才能生效,真机运行调试时请使用[自定义基座](http://ask.dcloud.net.cn/article/35115)
使用登录鉴权功能基本流程:
- 向三方登录平台申请开通,有些平台(如微信登录)申请成功后会获取appid
- 在HBuilderX中配置申请的参数(如appid等),提交云端打包生成[自定义基座](http://ask.dcloud.net.cn/article/35115)
- 在App项目中调用API进行登录,成功后获取到授权标识提交到业务服务器完成登录操作
支持的三方登录平台:
- [一键登录(univerify)](https://uniapp.dcloud.io/univerify)
- [苹果登录(Sign in with Apple)](https://uniapp.dcloud.io/app-oauth-apple)
- [微信登录](https://uniapp.dcloud.io/app-oauth-weixin)
- [QQ登录](https://uniapp.dcloud.io/app-oauth-qq)
- [新浪微博登录](https://uniapp.dcloud.io/app-oauth-sina)
- [Google登录](https://uniapp.dcloud.io/app-oauth-google)
- [Facebook登录](https://uniapp.dcloud.io/app-oauth-facebook)
HBuilderX中打开项目的manifest.json文件,在“基础配置”中可以设置App的应用名称、版本号等信息:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/base.png)
![](https://native-res.dcloud.net.cn/images/uniapp/base.png)
<a id="appid"/>
......
......@@ -6,7 +6,7 @@ App端定位模块封装系统自带的`系统定位`,及市场上主流的三
|5+ App/Wap2App|[plus.geolocation.*](https://www.html5plus.org/doc/zh_cn/geolocation.html)
使用定位功能需在项目manifest.json的“App模块配置”中勾选“Geolocation(定位)”,并根据项目实际需求勾选使用的三方定位SDK:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/geolocation/modules.png)
![](https://native-res.dcloud.net.cn/images/uniapp/geolocation/modules.png)
......@@ -15,7 +15,7 @@ App端定位模块封装系统自带的`系统定位`,及市场上主流的三
> HBuilderX3.2.16开始独立出“系统定位”模块
使用`系统定位`需在“App模块配置”项的“Geolocation(定位)”下,勾选“系统定位”:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/geolocation/system.png)
![](https://native-res.dcloud.net.cn/images/uniapp/geolocation/system.png)
`系统定位`调用设备的操作系统提供的定位服务,只支持wgs84坐标系,不同设备对定位功能支持的情况有所差异。
......@@ -50,7 +50,7 @@ App端定位模块封装系统自带的`系统定位`,及市场上主流的三
> 需要向高德申请商业授权,参考:[商业授权相关说明](app-geolocation?id=business),使用前需登录 [高德开放平台](https://lbs.amap.com/) 创建应用申请Key
使用`高德定位`需在“App模块配置”项的“Geolocation(定位)”下,勾选“高德定位”:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/geolocation/amap.png)
![](https://native-res.dcloud.net.cn/images/uniapp/geolocation/amap.png)
#### 参数说明
- appkey_android
......@@ -69,7 +69,7 @@ App端定位模块封装系统自带的`系统定位`,及市场上主流的三
> 需要向百度申请商业授权,参考:[商业授权相关说明](app-geolocation?id=business),使用前需登录 [百度地图开放平台](https://lbsyun.baidu.com/) 创建应用申请访问应用密钥(AK)
使用`高德定位`需在“App模块配置”项的“Geolocation(定位)”下,勾选“百度定位”:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/geolocation/baidu.png)
![](https://native-res.dcloud.net.cn/images/uniapp/geolocation/baidu.png)
#### 参数说明
- appkey_android
......
HBuilderX中打开项目的manifest.json文件,在“App图标配置”中可以设置App的桌面图标,推荐使用“自动生成图标”功能:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/icons/auto.png)
![](https://native-res.dcloud.net.cn/images/uniapp/icons/auto.png)
如果不使用自动生成图标方式,可按下面文档分别配置Android和iOS平台的图标。
......@@ -14,7 +14,7 @@ HBuilderX中打开项目的manifest.json文件,在“App图标配置”中可
#### 云端打包
**可视化界面配置**
推荐在可视化界面操作配置,在“Android图标配置”下根据分辨率选择对应的图标:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/icons/android.png)
![](https://native-res.dcloud.net.cn/images/uniapp/icons/android.png)
**源码视图配置**
切换到源码视图界面,在 "app-plus"->"distribute"->"icons"->"android" 节点根据以下属性配置对应分辨率图标路径:
......@@ -32,7 +32,7 @@ HBuilderX中打开项目的manifest.json文件,在“App图标配置”中可
**默认图标**
云端打包没有配置图标时将使用以下默认图标:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/icons/def-android.png)
![](https://native-res.dcloud.net.cn/images/uniapp/icons/def-android.png)
#### 离线打包
......@@ -52,7 +52,7 @@ HBuilderX中打开项目的manifest.json文件,在“App图标配置”中可
#### 云端打包
**可视化界面配置**
推荐在可视化界面操作配置,分别在“app store”、“iPhone图标配置”、“iPad图标配置”下根据分辨率选择对应的图标:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/icons/ios.png)
![](https://native-res.dcloud.net.cn/images/uniapp/icons/ios.png)
- app store
应用需要提交到AppStore上架审核是必须配置
......
......@@ -12,7 +12,7 @@ iOS15及以上系统限制每个应用最多只能配置50个白名单列表,
#### 可视化界面配置
打开项目的manifest.json文件,切换到“App常用其它设置”项,在“iOS设置”下的“应用访问白名单”编辑框中配置:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/ios/chemewhitelist.png)
![](https://native-res.dcloud.net.cn/images/uniapp/ios/chemewhitelist.png)
**注意:多个白名单列表使用“,”分割**
......
......@@ -6,7 +6,7 @@ App端地图模块封装了市场上主流的三方地图SDK,提供JS API统
|5+App/Wap2App|[plus.maps.*](https://www.html5plus.org/doc/zh_cn/maps.html)
使用地图功能需在项目manifest.json的“App模块配置”中勾选“Maps(地图)”,并根据项目实际情况勾选使用的三方地图SDK:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/maps/modules.png)
![](https://native-res.dcloud.net.cn/images/uniapp/maps/modules.png)
> 提示:App模块配置需提交云端打包后才能生效,真机运行调试时请使用[自定义基座](http://ask.dcloud.net.cn/article/35115)
......@@ -26,7 +26,7 @@ App端地图模块封装了市场上主流的三方地图SDK,提供JS API统
#### 配置使用高德地图
打开项目的manifest.json文件,在“App模块配置”项的“Maps(地图)”下,勾选“高德地图”:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/maps/amap.png)
![](https://native-res.dcloud.net.cn/images/uniapp/maps/amap.png)
#### 参数说明
- appkey_android
......@@ -48,7 +48,7 @@ App端地图模块封装了市场上主流的三方地图SDK,提供JS API统
#### 配置使用百度地图
打开项目的manifest.json文件,在“App模块配置”项的“Maps(地图)”下,勾选“百度地图”:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/maps/bmap.png)
![](https://native-res.dcloud.net.cn/images/uniapp/maps/bmap.png)
#### 参数说明
- appkey_android
......@@ -77,7 +77,7 @@ App端地图模块封装了市场上主流的三方地图SDK,提供JS API统
#### 配置使用Google地图
打开项目的manifest.json文件,在“App模块配置”项的“Maps(地图)”下,勾选“Google地图”:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/maps/gmap.png)
![](https://native-res.dcloud.net.cn/images/uniapp/maps/gmap.png)
#### 参数说明
- APIKey_android
......
#### 准备条件
- 可访问Facebook服务器
注意:中国境内可能无法访问Fackbook服务器
- 注册Facebook账号,登录[Facebook](http://www.facebook.com)
#### 创建应用
* 打开[Facebook开发者中心](http://developers.facebook.com/)
* 点击右上角"我的应用"
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/9e3ba994-95b0-46d6-9e40-0c18b9fac5d3.png)
* 进入应用管理界面,点击"创建应用"
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/0d96a58b-e31d-4f86-9372-dd84249a498b.png)
* 根据需要选择应用产品的类型(应用类型详见"详细了解应用类型"),然后点击继续
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/a940cfc2-8e8c-44cf-9334-56cb282d4f52.png)
* 填写应用信息
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/57f5f5c0-27ca-4aa7-9e68-fb051c8afccb.png)
* 创建完成后即可获取应用的应用编号(即appID)
* 为应用添加登录功能
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/4e7ad147-e4ce-40eb-a1b0-2381bdc53813.png)
#### 设置登录-iOS
* 我的应用--设置--基本,选择添加平台,选择iOS
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/cebc70d2-da0e-4708-9d05-d5f5d80de1ca.png)
* 填写信息保存即可
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/70038074-8c3a-4db8-99ab-49e14b951c79.png)
#### 设置登录-Android
* 我的应用--设置--基本,选择添加平台
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/a8fe2779-1142-452b-a4b0-f4bd61695770.png)
* 选择android平台,应用商店选择Google Play
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/afa346b7-a001-47b1-9c7e-914074153ac3.png)
* 填写必要的包名和散列信息,类名是固定的。如图
散列的获取方法,参考文档:
https://developers.facebook.com/docs/facebook-login/android 第六小节
如果获取到的散列位数不对,需要找台linux/mac 计算机。
使用下面的命令获取
keytool -exportcert -alias hbuilder -keystore ./HBuilder.keystore | openssl dgst -sha1 -binary | openssl base64
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/4c59adf0-cb40-41d7-95d4-e26102aeacd9.png)
#### 应用权限
使用Facebook登录需开启"public_profile"以及"email"的访问权限
点击"应用审核"-"权限和功能",开启"public_profile"以及"email"的高级访问权限
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/28dac1d2-f714-4477-a5c8-dd2e1b894894.png)
### 开通
- 注册[Facebook](http://www.facebook.com)账号
- 登录[Facebook开发者中心](http://developers.facebook.com/),打开“我的应用”页面
- 点击“创建应用”,根据提示填写应用信息
- 创建应用完成后即可获得应用编号(AppID)
- 进入应用详情页面,为应用添加登录功能,并配置Android/iOS平台信息
更多信息详见 [申请开通Facebook登录操作指南](https://uniapp.dcloud.io/app-oauth-facebook-open)
### 配置
打开项目的manifest.json文件,在“App模块配置”项的“OAuth(登录鉴权)”下,勾选“Facebook登录”:
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/facebook-manifest.png)
- appid
Facebook开发者中心申请的应用编号(AppID)
**注意**
- HBuilderX中标准真机运行基座使用的是DCloud申请HBuilder应用的AppID等信息,仅用于体验Facebook登录功能
- 配置参数需提交云端打包后才能生效,真机运行时请使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115)
### 使用Facebook登录
- uni-app项目
调用 [uni.login(OBJECT)](api/plugins/login?id=login) 发起授权登录,调用 [uni.getUserInfo(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getuserinfo) 获取用户信息,OBJECT参数中provider属性值固定为`facebook`
- 5+ App项目
调用 [plus.oauth.getServices(successCB,errorCB)](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.getServices) 获取登录服务对象 [plus.oauth.AuthService](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService), 再调用其 [login](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.login) 方法进行登录认证、[getUserInfo](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.getUserInfo)方法获取用户信息
#### 示例代码
- uni-app项目
``` js
uni.login({
provider: 'facebook',
success: function (loginRes) {
// 登录成功
uni.getUserInfo({
provider: 'facebook',
success: function(info) {
// 获取用户信息成功, info.authResult保存用户信息
}
})
},
fail: function (err) {
// 登录授权失败
// err.code是错误码
}
});
```
- 5+ App项目
``` js
var facebookOauth = null;
plus.oauth.getServices(function(services) {
for (var i in services) {
var service = services[i];
// 获取微信登录对象
if (service.id == 'facebook') {
facebookOauth = service;
break;
}
}
facebookOauth.login( function(oauth){
// 授权成功,facebookOauth.authResult 中保存授权信息
}, function(err) {
// 登录授权失败
// err.code是错误码
})
}, function(err) {
// 获取 services 失败
})
```
#### 准备条件
- 可访问Google服务器
注意:中国境内无法访问Google服务器
- 注册Google账号
### 开通
- 注册[Google](https://accounts.google.com/)账号
- 登录[Google Cloud Platform](https://console.cloud.google.com/),打开“选择项目”界面选择已经创建的项目,如果没有创建项目,点击“新建项目”根据页面提示创建项目
- 在左侧导航栏中选择 “API和服务” -> “凭证” 打开管理页面
- 点击 “创建凭证” -> “OAuth客户端ID”,根据提示选择“应用类型”,按需分别输入Android/iOS平台配置信息
- 创建凭证后iOS平台可以获取客户端ID(Android平台不需要客户端ID)
更多信息详见 [申请开通Google登录操作指南](https://uniapp.dcloud.io/app-oauth-facebook-open)
#### Android开通步骤
* 打开Google 登录引导页
网址: https://developers.google.com/identity/sign-in/android/sign-in?hl=zh-cn
### 配置
打开项目的manifest.json文件,在“App模块配置”项的“OAuth(登录鉴权)”下,勾选“Google登录”:
![](https://native-res.dcloud.net.cn/images/uniapp/oauth/google-manifest.png)
* 选择项目配置
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/636a9bd3-77d7-4539-b46c-0c798eb49350.png)
点击后出现项目与应用选择界面,如果你有已创建过的Firebase项目,可以直接选择。如果没有,可以选择新建一个Google Api 项目。
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/f206ec8a-c82d-41f4-9e6d-d838e21a4857.png)
- iOS平台客户端ID
Google云平台创建的OAuth2.0凭证的iOS平台客户端ID
* 选择项目后,在该项目下新建一个应用
选择应用平台 android
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/09c5a8aa-c698-4133-9a11-d73d59e37da5.png)
需要填写应用的包名和sha1指纹,指纹的获取方法在界面上有提示。按照提示操作即可。
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/d14feca3-94b5-467e-b197-d98b866072bc.png)
点击创建,即可完成开通步骤。
**注意**
- HBuilderX中标准真机运行基座使用的是DCloud申请HBuilder应用的AppID等信息,仅用于体验Google登录功能
- 配置参数需提交云端打包后才能生效,真机运行时请使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115)
#### iOS开通步骤
* 打开[Google登录iOS引导页](http://developers.google.com/identity/sign-in/ios/start-integrating?hl=zh-cn)
### 使用Google登录
* 点击创建OAuth客户端ID,填写项目名称
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/1978e9aa-5e11-4586-9caf-1c1b7c3e71bd.png)
- uni-app项目
调用 [uni.login(OBJECT)](api/plugins/login?id=login) 发起授权登录,调用 [uni.getUserInfo(OBJECT)](https://uniapp.dcloud.io/api/plugins/login?id=getuserinfo) 获取用户信息,OBJECT参数中provider属性值固定为`google`
- 5+ App项目
调用 [plus.oauth.getServices(successCB,errorCB)](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.getServices) 获取登录服务对象 [plus.oauth.AuthService](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService), 再调用其 [login](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.login) 方法进行登录认证、[getUserInfo](https://www.html5plus.org/doc/zh_cn/oauth.html#plus.oauth.AuthService.getUserInfo)方法获取用户信息
* 选择iOS平台、填写BundleID后,点击CREATE,即可获取Client ID
![](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/26045e0b-b6f0-4c22-aa61-0d63120e1a4b.png)
#### 示例代码
- uni-app项目
``` js
uni.login({
provider: 'google',
success: function (loginRes) {
// 登录成功
uni.getUserInfo({
provider: 'google',
success: function(info) {
// 获取用户信息成功, info.authResult保存用户信息
}
})
},
fail: function (err) {
// 登录授权失败
// err.code是错误码
}
});
```
- 5+ App项目
``` js
var googleOauth = null;
plus.oauth.getServices(function(services) {
for (var i in services) {
var service = services[i];
// 获取微信登录对象
if (service.id == 'google') {
googleOauth = service;
break;
}
}
googleOauth.login( function(oauth){
// 授权成功,googleOauth.authResult 中保存授权信息
}, function(err) {
// 登录授权失败
// err.code是错误码
})
}, function(err) {
// 获取 services 失败
})
```
......@@ -13,7 +13,7 @@
### 配置
打开项目的manifest.json文件,在“App模块配置”项的“Payment(支付)”下勾选“Apple应用内支付”:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/iap_setup_manifest_info.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/iap_setup_manifest_info.png)
> 提示:需提交云端打包后才能生效,真机运行时请使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115);本地离线打包参考[Apple应用内支付模块配置](https://nativesupport.dcloud.net.cn/AppDocs/usemodule/iOSModuleConfig/pay?id=%e8%8b%b9%e6%9e%9c%e5%ba%94%e7%94%a8%e5%86%85%e8%b4%ad%e6%94%af%e4%bb%98)
......
......@@ -11,7 +11,7 @@
### 配置
打开项目的manifest.json文件,在“App模块配置”项的“Payment(支付)”下,勾选“支付宝支付”:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/alipay_setup_manifest_info.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/alipay_setup_manifest_info.png)
**注意**
- 支付宝支付没有绑定应用包名、签名信息,可以使用标准基座开发测试,正式发布前请提交云端打包并使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115)
......
......@@ -2,23 +2,23 @@
* [登录/注册](https://www.paypal.com/c2/signin)
* 打开[paypal开发者中心](https://developer.paypal.com/developer/applications)
如图,依次选择My Apps & Credentials -> Live(如果创建沙箱环境点击Sandbox) -> Create App
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_develop_center.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/paypal_develop_center.png)
* 输入App Name,点击Create App
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_create_app.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/paypal_create_app.png)
* 创建完成后,点击AppName
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_setup_app_info.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/paypal_setup_app_info.png)
* 查看Client ID 以及 Secret
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_get_clientid.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/paypal_get_clientid.png)
* 添加return URL并保存(必须使用小写字母)
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_add_returnurl.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/paypal_add_returnurl.png)
* 勾选Accept payments 并点击Advanced options选择详情配置(点击保存后生效)
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_accept_payments.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/paypal_accept_payments.png)
* 勾选Log in with PayPal 并点击Advanced options选择详情配置(点击保存后生效)
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_log_in.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/paypal_log_in.png)
......@@ -12,7 +12,7 @@
### 配置
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“paypal支付”项并配置相关参数
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_setup_manifest_info.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/paypal_setup_manifest_info.png)
**参数说明**
- returnURL_android
......
......@@ -2,11 +2,11 @@
* [登录/注册](https://dashboard.stripe.com/login)
* 进入主页后,点击顶部继续按钮
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/stripe_home_page.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/stripe_home_page.png)
* 完善公司信息
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/stripe_company_info.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/stripe_company_info.png)
* 完善信息后,回到首页即可在右侧查看密钥
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/stripe_get_publishkey.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/stripe_get_publishkey.png)
......@@ -10,7 +10,7 @@
### 配置
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“paypal支付”项并配置相关参数
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/stripe_setup_manifest_info.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/stripe_setup_manifest_info.png)
**参数说明**
- returnURL
......
......@@ -9,7 +9,7 @@
### 配置
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“微信支付”项
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/wxpay_setup_manifest_info.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/wxpay_setup_manifest_info.png)
#### 参数说明
- appid
......
......@@ -2,13 +2,13 @@ App端支付模块封装了市场上主流的三方支付平台SDK,提供JS AP
|项目类型|API|
|:-|:-|
|uni-app|[uni.requestPayment(OBJECT)](/api/plugins/payment?id=requestpayment)|
|uni-app|[uni.requestPayment(OBJECT)](api/plugins/payment?id=requestpayment)|
|5+ App/Wap2App|[plus.payment.*](https://www.html5plus.org/doc/zh_cn/payment.html)
如果服务端使用[uniCloud](https://uniapp.dcloud.io/uniCloud/README),官方提供了[uniPay](https://uniapp.dcloud.io/uniCloud/unipay)云端统一支付服务,极大提升支付业务的开发效率,强烈推荐给开发者使用,参考示例:[https://ext.dcloud.net.cn/plugin?id=1835](https://ext.dcloud.net.cn/plugin?id=1835)
使用支付功能需在项目manifest.json的“App模块配置”中勾选“Payment(支付)”,并根据项目实际情况勾选使用的三方支付平台:
![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/modules.png)
![](https://native-res.dcloud.net.cn/images/uniapp/payment/modules.png)
> 提示:支付模块参数配置需提交云端打包后才能生效,真机运行调试时请使用[自定义基座](http://ask.dcloud.net.cn/article/35115)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册