如何实现亚马逊应用内购买API?



你好,很抱歉,标题有点模糊。我对亚马逊的IAP API有一个特别的问题,你会在文章的底部看到。

我以最简单的方式实现了API,也就是说我只是导入了他们的样本IAP应用并将其全部粘贴到我的应用中。我认为样本应用中唯一需要更改的是SKU和市场。

这是一个叫做MySku.java的类,来自示例应用:
package com.amazon.sample.iap.entitlement;
/**
* 
* MySku enum contains all In App Purchase products definition that the sample
* app will use. The product definition includes two properties: "SKU" and
* "Available Marketplace".
* 
*/
public enum MySku {
// The only entitlement product used in this sample app
LEVEL2("com.amazon.sample.iap.entitlement.level2", "US");
private final String sku;
private final String availableMarkpetplace;
/**
* Returns the MySku object from the specified Sku and marketplace value.
* 
* @param sku
* @param marketplace
* @return
*/
public static MySku fromSku(final String sku, final String marketplace) {
if (LEVEL2.getSku().equals(sku) && (marketplace == null || LEVEL2.getAvailableMarketplace().equalsIgnoreCase(marketplace))) {
return LEVEL2;
}
return null;
}
/**
* Returns the Sku string of the MySku object
* 
* @return
*/
public String getSku() {
return this.sku;
}
/**
* Returns the Available Marketplace of the MySku object
* 
* @return
*/
public String getAvailableMarketplace() {
return this.availableMarkpetplace;
}
private MySku(final String sku, final String availableMarkpetplace) {
this.sku = sku;
this.availableMarkpetplace = availableMarkpetplace;
}
}

所以我必须改变skuavailableMarketplace。我知道我的应用内产品的sku,所以我设置了它,但我该如何改变availableMarketPlace,让我的应用允许所有的市场,而不仅仅是美国市场?

您需要为每个可用市场声明每个SKU,就像这样>

LEVEL2("com.amazon.sample.iap.entitlement.level2", "US"),
LEVEL2_MX("com.amazon.sample.iap.entitlement.level2", "MX");

对于MySku函数如下>

public static MySku fromSku(final String sku, final String marketplace) {
for (MySku mySku : values()) {
if (mySku.getSku().equals(sku) &&
(null == marketplace || mySku.getAvailableMarketplace().equals(marketplace))) {
return mySku;
}
}
return null;
}

脉冲涡流不

最新更新