# InApp支持
InApp 集成支持两种方式:Chrome Custom Tabs(推荐)和 WebView。Custom Tabs 无需对 WebView 进行适配,且体验更优,优先级高于 WebView。
# Chrome Custom Tabs(推荐)
通过 Chrome Custom Tabs 在应用内打开支付页面,无需引入 EnjoyPayViewConfiguration.java 适配文件。Custom Tabs 在 Chrome 浏览器引擎中渲染页面,支持自动填充、密码管理,并可与应用共享 Cookie 和认证状态。
# 使用说明
步骤
添加依赖:在
app/build.gradle中添加 AndroidX Browser 库启动 Custom Tabs:使用支付 URL 创建 CustomTabsIntent 并启动
# 示例代码
// app/build.gradle
dependencies {
implementation 'androidx.browser:browser:1.5.0'
}
// 加载支付 url,支付 url 为创建订单接口返回
String url = "https://demo-pay.enjoypayment.com/transaction/xabcdefg";
CustomTabsIntent intent = new CustomTabsIntent.Builder()
.build();
intent.launchUrl(MainActivity.this, Uri.parse(url));
# WebView
通过 WebView 实现应用内页面跳转,支持 H5 页面直接跳转至支付应用中进行支付。如用户未安装支付应用,则跳转至网页中支付或跳转至应用商店。
# 使用说明
步骤
引入代码文件:***EnjoyPayViewConfiguration.java***
创建或者获取对象:***android.webkit.WebView***
初始化 WebView 对象:***EnjoyPayViewConfiguration.init(...)***
加载支付 Url:***webView.loadUrl("https://.....")***
# 代码
# 示例代码
//获取WebView
WebView webView = this.findViewById(R.id.webView);
//创建WebView对象
//webView = new WebView(this);
/**
* 初始化 WebView
* @param webView 内置浏览器控件
* @param fixUaToBrowser 是否去除 WebView 标识(对部分通道体验有优化)
* @param handler app 外跳转线程处理
*/
EnjoyPayViewConfiguration.init(webView, true, new EnjoyPayViewConfiguration.EnjoyOutJumpHandler() {
@Override
public void apply(Intent intent) {
// 定义跳转应用的方法,注意避免线程问题
startActivity(intent);
}
});
// 加载支付 url,支付 url 为创建订单接口返回
webView.loadUrl("https://demo-pay.enjoypayment.com/transaction/xabcdefg");