我已设置Google Analytics,以便将每个成功的交易发送给它。现在,在比较Google Analytics和Merchant数据时,我发现在Google Analytics中成功反映的一些交易并未归功于我的商家帐户。以下是我设置OnIabPurchaseFinishedListener的方法:
private static final OnIabPurchaseFinishedListener purchaseListener = new OnIabPurchaseFinishedListener() {
@Override
public void onIabPurchaseFinished(IabResult result, final Purchase info) {
if (result.isSuccess())
sendHit(cPREM, "success", info.getSku()); // send to GA
else
sendHit(cPREM, "failure", result.getMessage());
if (result.isFailure()) {
if (result.getResponse() != IABHELPER_USER_CANCELLED)
toast(true, "Unknown error occurred: " + result.getMessage());
return;
}
if (info.getSku().equals(SKUs[FULL_PREM])) {
premiumOn = true;
laneOn = true;
storeEditor.putBoolean(SKUs[PREM], true);
storeEditor.putBoolean(SKUs[LANE], true);
toast(true, ct.getString(R.string.please_restart));
} else if (info.getSku().equals(SKUs[PREM])) {
premiumOn = true;
storeEditor.putBoolean(SKUs[PREM], true);
toast(true, ct.getString(R.string.please_restart));
} else if (info.getSku().equals(SKUs[LANE])) {
laneOn = true;
storeEditor.putBoolean(SKUs[LANE], true);
toast(true, ct.getString(R.string.download_restart));
} else if (info.getSku().equals(SKUs[DONATE5]) || info.getSku().equals(SKUs[DONATE10])) {
try {
iabHelper.queryInventoryAsync(queryListener);
} catch (Throwable e) {
e.printStackTrace();
}
toast("Thank You.");
}
storeEditor.apply();
}
};
此外,我的应用程序只有2个月,因此我每周只能购买3次。此外,我检查了我的GA,并说它没有被采样。
我的问题是,我在这里做错了什么?或者它是谷歌游戏的错误?谢谢。
答案 0 :(得分:1)
它无法声称为google play bug。付款成功后,请查询Google Play有关功能/ SKU的信息。如果购买该功能,它会为您提供购买套装。这样做,您可以确保购买发生。
您可以做的另一件事是,如果购买成功,请在您的数据库中随身携带购买订单ID。订单ID只是您可以交叉检查购买的关键。如果发生任何错误匹配,请使用订单ID查询Google Play客户服务。
代码似乎就像您使用IabHelper
来执行购买流程和购买支票result.isFailure()
。如果我的猜测是正确的,那么您已经使用了Billing SDK中提供的TrivalDriveSample工具。
IabHelper util在购买后正在处理RESPONSE CODES。可能会发生可疑的事情。
请在IabHelper中重新检查它是如何启动购买以及它如何处理响应代码的?
其他明智的方法是实现自己的代码,而不是使用util。
答案 1 :(得分:0)
一般情况下,我会相信您的商家帐户优于Google Analytics。总会有一个带有分析平台的边缘案例;已过期或已屏蔽的卡,已取消的交易和已断开的连接对Google Analytics来说都是意外的。您的商家帐户将更加强大,因为它是根据您的情况量身定制的,实际上直接向某人汇款;这引起了相关各方更高的安全性和更大的兴趣。