Man*_*han 0 objective-c in-app-purchase ios
我有一个应用程序中有5个非消耗性应用程序购买。
在每一次In App购买中,我都会使用图像更新数据库。
有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];
}
}
Run Code Online (Sandbox Code Playgroud)
如何获取仅购买的产品ID的列表?
任何帮助将不胜感激...
您可以使用来恢复购买:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
Run Code Online (Sandbox Code Playgroud)
然后SKPaymentTransactionObserver将调用
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
Run Code Online (Sandbox Code Playgroud)
具有SKPaymentTransactionStatePurchased事务状态。您可以看到它返回事务的数组。
您可以使用进行一次交易,
for (SKPaymentTransaction * transaction in transactions) {
NSLog(@"Purchased indentifier : %@", transaction.payment.productIdentifier);
}
Run Code Online (Sandbox Code Playgroud)
这将打印出用户已购买的标识符。您可以将NSUserDefaults设置为这些值
| 归档时间: |
|
| 查看次数: |
1671 次 |
| 最近记录: |