Я создаю приложение для iPhone, которое должно обрабатывать подписки через In App Purchase. Когда я получаю квитанцию от Apple в своем приложении, я хочу сохранить квитанцию на своем собственном сервере, а на своем сервере я также хочу проверить квитанцию на сервере Apple. Очень важно, чтобы это соединение с моим сервером было установлено, поскольку это сохраняет информацию о пользователе, которая понадобится позже.
В моем SKPaymentTransactionObserver я сейчас пытаюсь вызвать мой сервер по SKPaymentTransactionStatePurchased. Проблема в том, что на SKPaymentTransactionStatePurchased появляется стандартное предупреждение «Спасибо», и покупка завершена. Поскольку приложению требуется некоторое время, чтобы связаться с моим сервером, это стандартное предупреждение отображается перед завершением вызова на мой сервер, и что произойдет, если пользователь закроет приложение здесь, он думает, что покупка завершена, как было сказано? Когда мне следует связаться с моим сервером? И если я хочу показать пользователю предупреждение, когда вызов на мой сервер завершен, когда я должен это сделать?
Это код, который я использую:
//This is called on "SKPaymentTransactionStatePurchased"
- (void) completeTransaction: (SKPaymentTransaction *)transaction
{
[self saveAndVerifyOnServer:transaction];
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}