【发布时间】:2013-05-07 02:05:56
【问题描述】:
我有一个应用程序,其中我有 5 次非消耗性应用程序内购买。
在每次应用内购买时,我都会使用图像更新我的数据库。
有 5 个包可用于 5 个非消耗性应用内购买。
现在有一个恢复购买功能,因为它是应用内购买的非消耗品。
我的应用中有一个恢复按钮。但是如何识别已经购买了哪些产品?
我使用以下代码恢复应用内购买。但它不会更新我的数据库,因为它不知道以前购买了哪些产品。
if ([transaction.payment.productIdentifier isEqualToString:@"Pack1"])
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedp1Once"])
{
// app already launched
NSLog(@"Launching secondtime");
}
else
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedp1Once"];
NSLog(@"Launching first time");
requestText= @"Animal";
[self MakeQueryForUpdate];
[self getdata];
}
}
else if ([transaction.payment.productIdentifier isEqualToString:@"Pack2"])
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedp2Once"])
{
// app already launched
NSLog(@"Launching secondtime");
}
else
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedp2Once"];
NSLog(@"Launching first time");
requestText= @"Celebrity";
[self MakeQueryForUpdate];
[self getdata];
}
}
else if ([transaction.payment.productIdentifier isEqualToString:@"Pack3"])
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedp3Once"])
{
// app already launched
NSLog(@"Launching secondtime");
}
else
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedp3Once"];
NSLog(@"Launching first time");
requestText= @"Nature";
[self MakeQueryForUpdate];
[self getdata];
}
}
如何获取仅购买的产品 ID 列表?
任何帮助将不胜感激...
【问题讨论】:
标签: ios objective-c in-app-purchase