Восстановление транзакций для невозобновляемых подписок без регистрации
AppStore reviewer требует от нас приобрести Non-renewing subscriptions
Тип не будет принуждать пользователя к регистрации. Он имеет в виду также пользователя не регистрировать он также может приобрести Non-renewing subscriptions
Тип
И Apple Document requires Non-renewing subscriptions
must можно восстановить.
Он сказал:
Невозобновляемые подписки и потребляемые продукты не являются автоматически восстанавливается магазинным комплектом. Невозобновляемые подписки должны однако будьте восстановимы. Чтобы восстановить эти продукты, необходимо записать транзакции на вашем собственном сервере когда их покупают и предоставляют ваш собственный механизм восстановления этих транзакций для пользователя устройства.
Поэтому при регистрации Пользователя я дам пользователю уникальный идентификатор пользователя , он может получить идентификатор пользователя со своим именем пользователя и паролем , поэтому я могу поделиться информацией пользователя для разных устройств ios , и я могу восстановить транзакции, потому что у них есть уникальный идентификатор пользователя.
Но проблема заключается в следующем : когда пользователь не зарегистрируется, мой сервер также даст ему уникальный идентификатор пользователя, незарегистрированный пользователь сохранит идентификатор пользователя в .plist
. Они также могут восстанавливать транзакции. Но когда он удаляет мое приложение , а затем загружает один раз , идентификатор пользователя теряется, поэтому он не может восстановить транзакции. Он будет обычным пользователем по умолчанию.
Отклонит ли appStore мое приложение по следующей причине:
Не может восстанавливать транзакции для невозобновляемых подписок без регистрации, которая удалите приложение перед восстановлением
Если appStore откажется, как исправить это, ТХ все.
3 ответа:
Я отправил свое приложение в appStore.
Я восстанавливаю транзакции для невозобновляемых подписок, которые регистрируются или входят в систему.
Я не восстанавливаю транзакции для невозобновляемых подписок, которые не "регистрируются"и" удаляют мое приложение".
Мое приложение одобрено
Примечание: Вы можете использовать механизм для использования UUID и хранить его в связке ключей. Если вы переустановите приложение, вы можете получить его из keychain снова и с помощью того же UUID, вы можете управлять истечением срока действия на вашем сервере.
- Регистрация должна быть необязательной для невозобновляемых элементов inapp.
Вы можете дать им сообщение, что если вы хотите использовать его на нескольких устройствах, то вам нужно зарегистрироваться и войти в систему.- при регистрации личная информация, такая как электронная почта и мобильный телефон, должна быть необязательной, и вы должны объяснить им, почему вы сохранили электронную почту в регистрации (например, восстановление пароля).
- Как и предыдущий комментарий, если inapp для невозобновляемого элемента не так дорого, они могут принять заявление. Но если приложение стоит дорого, они не позволят вам нарушить ни одно из своих правил.
Apple предлагает использовать iCloud для сохранения данных о покупке:
По крайней мере, это лучше, чем выбрасывать информацию о покупке, когда пользователь удаляет приложение. Заставить клиента платить дважды за услугу-это не лучший пользовательский опыт.#if USE_ICLOUD_STORAGE NSUbiquitousKeyValueStore *storage = [NSUbiquitousKeyValueStore defaultStore]; #else NSUserDefaults *storage = [NSUserDefaults standardUserDefaults]; #endif NSData *newReceipt = transaction.transactionReceipt; NSArray *savedReceipts = [storage arrayForKey:@"receipts"]; if (!receipts) { // Storing the first receipt [storage setObject:@[newReceipt] forKey:@"receipts"]; } else { // Adding another receipt NSArray *updatedReceipts = [savedReceipts arrayByAddingObject:newReceipt]; [storage setObject:updatedReceipts forKey:@"receipts"]; } [storage synchronize];