嗨,我已经使用android-inapp-billing-v3为一个项目实现了一年订阅的 inapp billing V3。我想在我的应用中显示剩余天数。我打电话是getSubscriptionTransactionDetails为了获取产品的交易详细信息,但它总是返回null。这是我的代码。
private BillingProcessor startInappCheck(){
bp = new BillingProcessor(mContext, BASE64ENCODEDPUBLICKEY, new BillingProcessor.IBillingHandler() {
@Override
public void onProductPurchased(String productId, TransactionDetails details) {
LogUtils.e(TAG, "onProductPurchased :" +productId);
// showToast("onProductPurchased: " + productId);
}
@Override
public void onBillingError(int errorCode, Throwable error) {
LogUtils.e(TAG, "onBillingError :" +errorCode);
}
@Override
public void onBillingInitialized() {
// showToast("onBillingInitialized");
readyToPurchase = true;
try{
SkuDetails subs = bp.getSubscriptionListingDetails(SUBSCRIPTION_ID);
LogUtils.d(TAG, "Owned Subscription: " + subs.toString());
TransactionDetails tr = bp.getSubscriptionTransactionDetails(SUBSCRIPTION_ID);
LogUtils.d(TAG, …Run Code Online (Sandbox Code Playgroud) 有什么方法可以检查用户是否已经使用过他的免费试用版?
当我查询sub时,我得到了下一个数据:
[
SkuDetails:{
"productId":"...",
"type":"subs",
"price":"...",
"price_amount_micros":0000,
"price_currency_code":"USD",
"subscriptionPeriod":"P1M",
"freeTrialPeriod":"P1W1D",
"title":"...",
"description":"..."
}
]
Run Code Online (Sandbox Code Playgroud)
当用户使用免费试用版时,此字段"freeTrialPeriod":"P1W1D"会消失吗?或者也许有其他方法可以知道它?
我需要显示"免费"而不是订阅价格,然后在用户使用免费试用版后显示实际价格
这是我第一次创建购买的经历。我正在开发的应用程序尚未发布。我一直在使用 Configuration.storekit 文件在本地测试订阅。一切正常。\n我最近遇到了一个问题 - 我的订阅不再显示在项目中。我在终端中收到如下错误:\n
更新:
\n我没有更改那些地方的代码。我尝试创建新的 .storekit 文件,但仍然不起作用。\n我尝试通过同步加载 .storekit 文件。在其中,价格被拉高并正确显示,与网站上一样,但在终端中再次写入相同的错误。
\n这是适用于购买的文件:
\nimport StoreKit\n\ntypealias RequestProductsResult = Result<[SKProduct], Error>\ntypealias PurchaseProductResult = Result<Bool, Error>\n\ntypealias RequestProductsCompletion = (RequestProductsResult) -> Void\ntypealias PurchaseProductCompletion = (PurchaseProductResult) -> Void\n\n\nclass Purchases: NSObject {\n static let `default` = Purchases()\n private let productIdentifiers = Set<String>(\n arrayLiteral: "test.1month", "test.6month", "test.12month"\n )\n\n private var products: [String: SKProduct]?\n private var productRequest: SKProductsRequest?\n private var productsRequestCallbacks …Run Code Online (Sandbox Code Playgroud) storekit in-app-purchase skproduct swift in-app-subscription
我正在研究使用Google Play在应用结算中实施自动续订订阅的方法.我阅读了https://developer.android.com/google/play/billing/billing_subscriptions.html并查看
结算以指定的间隔和价格无限期地继续.在每次续订时,Google Play会自动向用户帐户收费,然后通过电子邮件通知用户这些费用.对于月度和年度订阅,结算周期将始终根据购买日期与订阅周期匹配.(季节性订阅每年收费,在季节的第一天.)
订阅付款获得批准后,Google Play会通过应用内结算API向购买应用提供购买代币.您的应用可以在本地存储令牌或将其传递给后端服务器,后端服务器可以使用它来使用Google Play Developer API远程验证或取消订阅.
那么有什么方法可以让我的服务器知道用户的订阅何时更新?而不是谷歌播放发送新的账单订阅到Android应用程序之后,该Android应用程序将此新账单发送到我的服务器只是为了验证.
谷歌播放时可以在用户订阅续订时向我的服务器发送通知,例如通过电子邮件通知用户?我想谷歌播放发送给我一个通知,用户的订阅自动续订,以便我的后端将更新到期应用程序增加他们的订阅.每次用户打开商店时都不需要Android应用程序检查账单来检查是否有来自goole的新账单充电自动化.它实施吗?
我的工作跟进
那可能吗?
[更新]推荐来自goolge play api doc
建议:在您的应用中包含业务逻辑,以通知您的后端服务器订阅购买,令牌以及可能发生的任何计费错误.您的后端服务器可以使用服务器端API查询和更新您的记录,并在需要时直接跟进客户.
如何实施谷歌API,任何文档或教程的推荐?
我正在使用谷歌应用内结算v-3来实施订阅.
我的订阅有一周的跟踪期,UI显示"Avail A Week Free"视图.
如果用户因任何原因订阅和取消,我需要显示"UpGrade"视图.
据我搜索,我了解到如果用户在活动订阅期间取消订阅,INAPP_PURCHASE_DATA_LIST autoRenewing标志将返回false.在订阅期结束后,getPurchase()可能返回空.
在这种情况下,我如何知道要显示哪个UI,因此当订阅到期和用户未订阅时,getPurchase()将为两者返回空.
我很难理解为什么我在Google Play开发者控制台中几乎所有(90%)的活动订阅都处于“待付款”状态,尽管订阅已超出试用期和宽限期,并且订阅状态为“活性”。
我尝试自己支付订阅费用,并且一切正常。
有谁知道是什么原因造成的?任何提示都欢迎。
android subscriptions google-play in-app-subscription developer-console
我已使用应用内结算库在应用中添加订阅。一切正常,但是我找不到如何获得用户当前有效的订阅?
根据docs,该方法queryPurchaseHistoryAsync将返回用户针对每个SKU进行的最新购买,即使该购买已过期,取消或消费了。因此,我不知道当前的订阅是否处于活动状态。
根据此帖子,如果我们取消订阅,则该订阅仍将被视为当天有效。但是我得到的响应中的订阅已在15天之前被取消。
任何帮助将不胜感激。提前致谢。
android in-app-billing google-play in-app-subscription play-billing-library
在阅读了有关Android应用程序内产品和订阅的文档后,我仍然停留在询问有关应用程序内自动续订的消费过程的问题。
Google对消费的评价
由您决定是否要将被管理产品作为非消耗品或消耗品处理
非消耗品
通常,您不会为只能在应用程序中购买一次并提供永久利益的被管理产品实施消费。购买后,这些产品将与用户的Google帐户永久关联。非消耗型被管理产品的一个示例是高级升级或级别包。
消费品
相反,您可以对可以多次购买的产品实施消费。通常,这些产品会提供某些临时效果。例如,用户的游戏角色可能会获得生命点或在其库存中获得额外的金币。在您的应用程序中分配所购买产品的收益或影响称为供应被管理产品。您负责控制和跟踪如何将被管理产品配置给用户。
另一方面,Google Play结算告诉我们,我们提供以下类型的应用内商品:
阅读此书,我们可能认为订阅不是托管产品。
我正在尝试重新开发应用程序的一部分,目前,当前版本获取库存(使用IabHelper),获取最近一次的每月购买量(由Google自动进行),将信息发送到我们的API以再次获得用户溢价,在API结果之后消耗最后一次购买。
因为我现在直接从我们的API检查每月付款,所以要从Android应用程序中删除此部分: 我们是否绝对必须通过自动更新Google应用程序内来自动使用每月购买程序?
我已成功为 Google Play 实施订阅验证,但我很难理解 iOS 自动续订订阅的验证流程,想寻求您的帮助。以下是 Google Play 的高级逻辑:
notifications server-to-server ios firebase in-app-subscription
我们正在开发一个应用程序,其中一些经过验证的用户可以通过订阅来销售他们的内容。
内容是由视频、照片和提示组成的数字内容。
我们想提供按月订阅的付费内容。我研究了一些应用程序,通常你有所有付费内容的自动更新订阅。
但是,我们的客户希望为每个提供付费内容的用户提供单独的订阅。
这意味着每个内容消费者(用户)将能够拥有无限数量的并发订阅,因为他们将能够订阅他们想要的任何内容提供商。
我们目前正在研究的其他选项:我们正在考虑允许用户访问特定数量用户的付费内容的层数:
所有订阅都在同一个组中,每个订阅都有不同的级别。当用户购买产品时,他们可以选择访问哪些付费内容(不切换/或每月切换)。
最后的问题: