我已经在我的应用程序中实现了应用内购买。在此应用程序中,一旦用户在应用程序中注册,他就需要使用我的应用程序关键功能进行订阅。这是自动续订。
我的问题是,如果用户A使用自己的Apple ID在自己的ios设备中进行订阅,然后从该应用程序注销。 现在,他再次使用新ID(例如B)在我的应用程序中注册,并看到应用程序内购买视图,然后单击“还原”按钮。这是恢复代码:
- (void)restoredPayment:(SKPaymentTransaction *)transactions{
if ([transactions.payment.productIdentifier isEqualToString:monthlySubscription]) {
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSError *receiptError;
BOOL isPresent = [receiptURL checkResourceIsReachableAndReturnError:&receiptError];
if (isPresent)
{
NSData *receiptData = [[NSData alloc] initWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
BOOL isSubscriptionPeriodValid = [[DataBase sharedInstance] getSubscriptionStatusFromAppleWithReceipt:receiptData];
if (isSubscriptionPeriodValid)
{
[[AppDelegate sharedAppDelegate].arrayConacatResponse addObject:[NSString stringWithFormat:@"restoredPayment SubscriptionPeriodValid"]];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"CS Remove view valid period" message:@"" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil] ;
// [alert show];
[self removeFromSuperview];
}else{
// Here I want to stop
[CommonUtilities showAlertWithTitle:@"" Message:@"You have no transaction to restore."];
}
}
}
[ProgressHUD dismiss];
}
因此,无需订阅,新用户只需还原即可使用完整的应用程序功能。 因为Apple确实针对该用户的Apple ID进行订阅。而且他没有更改他的苹果ID。
有人可以建议我如何管理它,并限制新用户恢复并说要先订阅吗。
谢谢