小编teh*_*tro的帖子

Android In App Subscription始终返回初始收据,我从未获得续订

我的Android应用有问题.我正在尝试实施每月订阅.我创建了IAP,该应用程序处于测试阶段,我注册为测试人员.

购买订阅时,一切都按预期工作.我可以将其作为测试人员购买,这意味着订阅实际上并未收费,而且每天都会续订.

但这是我的问题开始的地方.我总是得到原始收据,原件purchaseTimepurchaseToken.每当应用程序启动时,我都会打电话queryInventoryAsync,我希望得到最新的续订收据.但我总是得到原始收据.

我的想法错了吗?我不应该获得新的收据orderID吗?(如谷歌文档说,我应该得到一个orderIDGPA.blabla..0|1|2.我知道有一些缓存机制,但我已经等了三天,我仍然得到原始顺序,而我应该得到的最新一个.

我总是在人行横道上使用cordova,我使用以下插件进行购买:https://github.com/j3k0/cordova-plugin-purchase.我不知道它是否重要,它不应该因为它使用每个其他插件使用的相同的IABHelper类,但也许它们的代码有问题?

我记录了从通话中收到的确切响应mService.getPurchases(3, mContext.getPackageName(), itemType, continueToken);,它包含错误的数据(原始收据).为什么?:(

有没有其他人有类似的问题?是因为测试订阅了吗?实际购买时会起作用吗?我已经开始使用真钱进行测试,但需要一周的时间才能续订.

非常感谢.

修改:无法从Google Play商店应用中清除缓存.我不能要求我的用户这样做.此外,我测试了这个,它不起作用!

编辑2生产订阅(真钱,没有测试)也不起作用!仍然收到原始收据!

编辑3我还没有解决这个问题.检测续订的正确方法是什么?我应该只在后端运行cronjob并根据Google的Purchase Status API查询每个订阅吗?

编辑4感谢您的回答.我已经在后端使用Purchase Status API来确定订阅是否已续订.但它有点糟糕,如果我获得100.000订阅会导致什么?遍历所有这些并查询Google API的脚本将花费非常漫长的时间......脚本应该每天运行!

但是让我们清理一下.

这是否意味着官方文档已过时?.

GPA.blabla..0 GPA.blabla..1风格续费死

编辑2016年12月5日更新:我已经在生产中运行了几个月的订阅,我仍然没有获得..0,..1的续订.我做的是设置每天运行的cronjob.它会通过我的有效订阅并针对Google的Purchase API查询它们.如果API返回的截止日期与我的数据库中保存的日期不同,则表示订阅已续订.

编辑2017年7月6日更新 我仍然依赖我的每日脚本来解析所有订阅,并通过使用Purchases API查询Google来更新其状态https://developers.google.com/android-publisher/api-ref/purchases/subscriptions.到目前为止它一直很好用.

编辑2018年10月7日更新 Google现在提供实时通知:https://developer.android.com/google/play/billing/realtime_developer_notifications

我实现了这些通知,并将它们与每日cronjob一起使用,以获取每个订阅的真实状态和到期日期.

快速提示:批量查询订阅!我做了一些测试,并且我能够在同一个请求中捆绑多达1.000个订阅.该限制是由API的最大响应大小强加的.

android in-app-billing cordova crosswalk

26
推荐指数
1
解决办法
1492
查看次数

AWS FIFO SQS重复数据删除ID如何工作?

我正在尝试将AWS SQS FIFO服务与ElasticBeanstalk工作人员环境一起使用。

假设我使用发送了一条消息MessageDeduplicationId test,如果我在接下来的5分钟内继续发送此确切消息,该消息将被忽略,对吗?

如果我使用发送消息MessageDeduplicationId test,使用者处理该消息并将其删除,然后在大约1分钟内再次发送完全相同的消息,该怎么办。此消息会被忽略吗?

我的问题是,只要MessageDeduplicationId 队列/运行中仍存在重复数据删除,是否会发生重复数据删除还是ID横幅永远存在,无法发送其他任何具有相同ID的消息。

谢谢。

duplicates amazon-sqs amazon-web-services

8
推荐指数
2
解决办法
2310
查看次数

如何将Ember CLI应用程序部署到Azure网站

我正在尝试将一个ember-cli应用程序部署到Azure网站.部署到azure时,运行部署脚本,执行以下操作:

 - npm install bower
 - npm install ember-cli
 - bower install
 - npm install
 - ember build
Run Code Online (Sandbox Code Playgroud)

好吧,这一切似乎进展顺利,直到它完成了这ember build一步.我收到一个错误:

this._handle.open(options.fd)

Error: EINVAL, Invalid argument
      at new Socket (net.js:156:18)
      at process.stdin (node.js:664:19)
      at ..... ember-cli\bin\ember:28:25
Run Code Online (Sandbox Code Playgroud)

搜索我发现此链接与Grunt https://github.com/TryGhost/Ghost/pull/3608相同的问题 那么,我如何在Ember CLI中禁用stdin?我可以做任何方式,或任何解决方法,以便我可以部署应用程序?

我正在尝试在Web服务器上进行构建过程,并且这在Azure上不起作用.有没有人有Azure的经验?非常感谢!

UPDATE

请下面由Felix Rieseberg或Justin Niessner发布的两种方法之一.谢谢你们的支持和调查!

azure web-deployment ember.js ember-cli

6
推荐指数
2
解决办法
1129
查看次数

Yii2日志console命令输出

我想知道如何将Yii2控制台命令的输出保存到文件中?或者我如何记录输出,以便稍后可以读取,例如,如果命令以cronjob的形式运行?

谢谢.

正如Beowulfenator所指出的,我使用了Yii的Logger功能.所以,在我的配置文件中,我FileTarget为该trace级别定义了一个新的.

  // config/console.php
        'log' => [
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['trace'],
                    'logVars' => [],
                    'logFile' => '@runtime/logs/commands.log'
                ]
            ],
        ],
Run Code Online (Sandbox Code Playgroud)

在我的控制台控制器中,我重写了stdout这样的方法:

/* A public variable to catch all the output */
public $output;

/* Example of action outputting something to the console */
public function actionWhatever()
{
     $this->stdout("whatever");
}

/* Overriding stdout, first calling the …
Run Code Online (Sandbox Code Playgroud)

console logging yii2

6
推荐指数
1
解决办法
9202
查看次数

为什么Cordova插件媒体需要READ_PHONE_STATE权限?

那么,为什么cordova-plugin-media添加了READ_PHONE_STATE权限?

我在Chromium https://chromiumcodereview.appspot.com/12480009/中找到了可能相关的提交.似乎MediiaPlayerListener.java放弃了对READ_PHONE_STATE权限的需求.

我们可以用cordova插件做同样的事情吗?谢谢.

android cordova cordova-plugins crosswalk

6
推荐指数
1
解决办法
1283
查看次数