小编jak*_*e n的帖子

Google Play 结算库:确定基本计划/订阅购买的到期日期

我正在使用 Google Play Billing Library 5,并且有一个具有不同基本计划的订阅产品。

PurchasesUpdatedListener在或 的回调中处理购买时queryPurchasesAsync,我会收到一个对象列表Purchase,其中包含产品 ID、购买时间以及是否自动续订等内容。

但我如何知道用户选择了哪个基本计划以及该计划何时到期?

返回PurchaseHistoryRecordqueryPurchaseHistoryAsync似乎也不包含此信息。

我知道 Play Developer API 使用 来返回过期时间purchases.subscriptionsv2.get,但是直接使用 API 带来的不便是否有必要?

android in-app-billing android-billing play-billing-library google-play-billing

20
推荐指数
1
解决办法
2838
查看次数

PostgreSQL 中高效的全文搜索,在另一列上排序

在 PostgreSQL 中,如何有效地对一列进行全文搜索,对另一列进行排序?

假设我有一个tbl包含列abc、 ... 和许多(> 一百万)行的表。我想对列进行全文搜索,a并按其他列对结果进行排序。

所以我va从 column创建一个 tsvector a

ALTER TABLE tbl
ADD COLUMN va tsvector GENERATED ALWAYS AS (to_tsvector('english', a)) STORED;
Run Code Online (Sandbox Code Playgroud)

iva为其创建一个索引,

CREATE INDEX iva ON tbl USING GIN (va);
Run Code Online (Sandbox Code Playgroud)

ib和列的索引b

CREATE INDEX ib ON tbl (b);
Run Code Online (Sandbox Code Playgroud)

然后我查询像

SELECT * FROM tbl WHERE va @@ to_tsquery('english', 'test') ORDER BY b LIMIT 100
Run Code Online (Sandbox Code Playgroud)

现在 Postgres 明显的执行策略是:

  1. 对于频繁出现的单词,使用 进行索引扫描ib,过滤va …

postgresql full-text-search query-optimization postgresql-13 postgresql-14

4
推荐指数
1
解决办法
3698
查看次数

使用引用相等的 Kotlin Collection indexOf ===

在 Kotlin 中,indexOf(x)调用 aCollection返回第一个元素的索引equals(x)(结构相等==

===如何才能获得基于引用相等 ( )的索引呢?

collections kotlin

3
推荐指数
1
解决办法
299
查看次数