我已在我的应用程序中实现了应用内购买 . 在这个应用程序中,一旦用户在应用程序中注册,他需要订阅使用我的应用程序主要功能 . 这是一个自动续订订阅 .
我的问题是,如果用户A在他的ios设备中使用他的苹果ID进行订阅,那么他就会从应用程序中退出 . 现在,他再次在我的应用中注册了新的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进行订阅 . 他并没有改变他的苹果身份 .
任何人都可以建议我如何管理它并限制新用户恢复并说出先订阅 .
谢谢