在 Android SDK 中渲染远程配置设计的付费墙 如果你使用远程配置自定义了付费墙,则需要在移动应用代码中自行实现渲染逻辑,才能将其展示给用户。由于远程配置的灵活性完全由你掌控,付费墙的内容和外观都取决于你的设计。Adapty 提供了获取远程配置的方法,让你能够自主展示自定义付费墙。
获取 Flow 远程配置并展示 在 v4 中,一个 flow 在 remoteConfigs 数组中为每个已配置的语言环境携带一个 AdaptyRemoteConfig 条目。选取与用户偏好匹配的语言环境,然后读取所需的值。
Adapty. getFlow ( "YOUR_PLACEMENT_ID" ) { result ->
when (result) {
is AdaptyResult.Success -> {
val flow = result. value
val config = flow.remoteConfigs. firstOrNull { it.locale == "en" }
?: flow.remoteConfigs. firstOrNull ()
val headerText = config?.dataMap?. get ( "header_text" ) as ? String
}
is AdaptyResult.Error -> {
val error = result.error
// handle the error
}
}
} Adapty. getFlow ( "YOUR_PLACEMENT_ID" , result -> {
if (result instanceof AdaptyResult.Success) {
AdaptyFlow flow = ((AdaptyResult.Success < AdaptyFlow > ) result). getValue ();
AdaptyRemoteConfig config = null ;
for (AdaptyRemoteConfig remoteConfig : flow. getRemoteConfigs ()) {
if ( "en" . equals (remoteConfig. getLocale ())) {
config = remoteConfig;
break ;
}
}
if (config == null && ! flow. getRemoteConfigs (). isEmpty ()) {
config = flow. getRemoteConfigs (). get ( 0 );
}
if (config != null && config. getDataMap (). get ( "header_text" ) instanceof String) {
String headerText = (String) config. getDataMap (). get ( "header_text" );
}
} else if (result instanceof AdaptyResult.Error) {
AdaptyError error = ((AdaptyResult.Error) result). getError ();
// handle the error
}
}); 至此,一旦您获取了所有必要的数据,就可以将其渲染并组装成一个美观的页面。请确保设计能够适配各种手机屏幕尺寸和方向,为不同设备提供流畅且友好的用户体验。
请务必按照以下说明记录付费墙浏览事件 ,以便 Adapty 分析系统能够采集漏斗和 A/B 测试所需的数据。
完成付费墙的展示后,继续设置购买流程。当用户发起购买时,只需使用流程中的产品调用 .makePurchase() 方法即可。有关 .makePurchase() 方法的详细信息,请参阅发起购买 。
我们建议创建一个备用付费墙 。当用户没有网络连接或无可用缓存时,备用付费墙会自动展示,确保用户在任何情况下都能获得流畅的体验。
追踪付费墙浏览事件 Adapty 帮助你衡量流程和付费墙的表现。购买数据会自动收集,但浏览事件需要你手动记录,因为只有你知道用户何时看到了某个流程。
要记录浏览事件,只需调用 .logShowFlow(flow),相关数据便会反映在漏斗和 A/B 测试的数据指标中。
Adapty. logShowFlow (flow) 请求参数:
参数 是否必填 描述 flow 必填 通过 Adapty.getFlow 获取的 AdaptyFlow 对象。
如果你通过远程配置自定义了付费墙,则需要在移动应用代码中实现渲染逻辑,才能将其展示给用户。远程配置具有高度灵活性,完全由你掌控——付费墙包含哪些内容、界面如何呈现,都取决于你的设计。我们提供了获取远程配置的方法,让你能够自主展示通过远程配置搭建的自定义付费墙。
获取付费墙远程配置并呈现 要获取付费墙的远程配置,请访问 remoteConfig 属性并提取所需的值。
Adapty. getPaywall ( "YOUR_PLACEMENT_ID" ) { result ->
when (result) {
is AdaptyResult.Success -> {
val paywall = result. value
val headerText = paywall.remoteConfig?.dataMap?. get ( "header_text" ) as ? String
}
is AdaptyResult.Error -> {
val error = result.error
// handle the error
}
}
} Adapty. getPaywall ( "YOUR_PLACEMENT_ID" , result -> {
if (result instanceof AdaptyResult.Success) {
AdaptyPaywall paywall = ((AdaptyResult.Success < AdaptyPaywall > ) result). getValue ();
AdaptyPaywall.RemoteConfig remoteConfig = paywall. getRemoteConfig ();
if (remoteConfig != null ) {
if (remoteConfig. getDataMap (). get ( "header_text" ) instanceof String) {
String headerText = (String) remoteConfig. getDataMap (). get ( "header_text" );
}
}
} else if (result instanceof AdaptyResult.Error) {
AdaptyError error = ((AdaptyResult.Error) result). getError ();
// handle the error
}
}); 此时,一旦您获取了所有必要的值,就可以将它们渲染并组合成一个视觉上吸引人的页面。请确保设计能够适配各种手机屏幕尺寸和方向,在不同设备上提供流畅且用户友好的体验。
请务必按照下方说明记录付费墙查看事件 ,以便 Adapty 分析系统能够收集漏斗和 A/B 测试所需的数据。
展示付费墙后,请继续设置购买流程。当用户发起购买时,只需使用付费墙中的产品调用 .makePurchase()。有关 .makePurchase() 方法的详细信息,请阅读发起购买 。
我们建议创建一个备用付费墙(即备用付费墙) 。当没有网络连接或缓存可用时,该备用付费墙将向用户展示,确保在这些情况下依然提供流畅的体验。
追踪付费墙查看事件 Adapty 帮助您衡量付费墙的效果。虽然我们会自动收集购买数据,但记录付费墙查看事件需要您的参与,因为只有您才知道用户何时看到了付费墙。
要记录付费墙查看事件,只需调用 .logShowPaywall(paywall),该事件将反映在漏斗和 A/B 测试的付费墙数据图表中。
如果您展示的是在付费墙编辑工具 中创建的付费墙,则无需调用 .logShowPaywall(paywall)。
Adapty. logShowPaywall (paywall) 请求参数: