如何避免从Google Play getSkuDetails返回的inapp项目标题中使用应用程序名称?

问题描述 投票:20回答:2

[我想使用应用内结算v3 API中的getSkuDetails()调用来动态显示具有正确翻译的标题和相关价格的应用内购买选项的列表。

但是,getSkuDetails()的“ title”属性似乎总是​​以"<item title> (app name)"的形式出现,没有什么用处。如何在不修改字符串的情况下仅获取项目标题本身而没有应用程序名称?

android in-app-purchase
2个回答
13
投票

就是这样。我的意思是,即使我不喜欢它,显然用户也知道他正在从该应用中购买商品,但我认为Google仅会以这种方式回复它


0
投票

由于没有人使用实际的正则表达式模式来匹配SKU标题中括号内的应用程序名称,我想我只是将代码发布在此处以供进一步参考:]

// matches the last text surrounded by parentheses at the end of the SKU title
val skuTitleAppNameRegex = """(?> \(.+?\))$""".toRegex()

val titleWithoutAppName = skuDetails.title.replace(skuTitleAppNameRegex, "")

正则表达式允许在SKU标题的括号中添加其他文本。您唯一应避免的是在应用程序名称中加上括号,但是只要稍稍调整一下正则表达式,您也可以解决该问题。

由于正则表达式的构建非常昂贵,因此建议将其存储在字段中,并避免在每次解析SKU时都构造它们。

© www.soinside.com 2019 - 2024. All rights reserved.