我有许多用于应用内购买的图片模板,这些模板存储在设备本地。我在iTunes Connect中创建了非消费类应用内购买。现在我无法理解,如何将特定图像分配给产品标识符?因为在应用内购买中,没有选项可以将其分配给特定内容。我可能在这里遗漏了一些东西。来自this问题 我必须为我销售的每个图像模板创建新的产品标识符。但这让它更加令人困惑,因为我无法理解如何将每个图像链接到每个产品标识符。 谢谢。
答案 0 :(得分:1)
在iTunes Connect中创建应用内购买时,您可以为每次购买提供产品ID,例如com.example.purchase1
在代码之后,您应该检查哪个是如下所示:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction * transaction in transactions) {
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
[self restoreTransaction:transaction];
default:
break;
}
};
}
- (void)completeTransaction:(SKPaymentTransaction *)transaction {
//get and pass productIdentifier of transaction
[self provideContentForProductIdentifier:transaction.payment.productIdentifier];
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}
- (void)provideContentForProductIdentifier:(NSString *)productIdentifier {
if ([productIdentifier isEqualToString:@"com.example.purchase1"]) {
//unlock purchase1
}
答案 1 :(得分:1)
您必须使用您的应用程序发送所有图像,并硬编码产品标识符到图像的映射,或从应用程序商店加载产品ID,并使用外部网站或服务器上传标识符的图像。 / p>
令人遗憾的是,苹果不允许您将元数据分配给可以使用产品标识符上传的产品。对于非消耗品,您现在至少可以在Apple服务器上托管内容。
不幸的是,目前它的硬编码或使用外部服务器,您可以在应用程序版本之间添加图像。
答案 2 :(得分:0)
实际上您应该为要销售的每个图像模板创建不可用的应用内应用。 让我们认为你有4种不同的图像模板。 您的商品标识符为imageSet1,imageSet2,imageSet3,imageSet4。 在您的应用程序中,您有4个模板名称是春季,夏季,秋季,冬季。
当使用您的应用的用户想要购买Spring时,您将向appstore发送一个请求,该用户想要购买imageSet1(在您的应用中是Spring)。当事务成功时,您将激活Spring映像的凭据。
当用户稍后更换设备或重新安装应用程序时,当他再次尝试购买Spring主题时,您必须在购买对话框中提供恢复选项。(这是必须的。如果您不提供此选项,您的应用将被拒绝。) 当他按下恢复苹果将返回给你之前这个用户购买了这个,你将激活Spring主题。