iOS: транзакции с промо-кодом в App Store не передаются в приложение - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь разрешить промо-коды для моего приложения (в основном, для вознаграждения моих бета-тестеров :). У меня есть продукты IAP (в основном расходные материалы) и промо-коды для этих продуктов (мое приложение в настоящее время работает с версией 1.0 - это для 1.1 - поэтому коды действительны, и приложение находится в производстве). Я могу выкупить коды в App Store (и они показывают, что они были успешно завершены), но эти транзакции не отображаются в моем приложении. Я думал, что App Store создал незавершенную транзакцию, которая будет представлена ​​приложению при запуске, но я застрял - я не вижу транзакций, поступающих в мое приложение при запуске.

Несколько вещей:

  1. Я создал синглтон IAPHelper для обработки транзакций (это делегат SKPaymentTransactionObserver)
  2. В методе AppDelegate applicationDidFinishLaunchingWithOptions добавляю IAPHelper в качестве наблюдателя очереди транзакций в SKPaymentQue по умолчанию * *
  3. Приложение запускается, но неполные транзакции не загружаются.
  4. Я использую одно и то же устройство и учетную запись для доступа к App Store, чтобы получить промо-код и запустить приложение (с помощью отладчика в Xcode).

Вот код для AppDelegate:

    m_Helper = [IAPHelper sharedIAPHelper];

    [m_Helper initHelper];          // Just initializes internal members (NSMutableArrays)
    [[SKPaymentQueue defaultQueue] addTransactionObserver:m_Helper];

    [m_Helper restoreTransactions]; // Forcing a call to restoreCompletedTransactions

NB: я пробовал это, не сохраняя его как член, но подумал "что за хрень, я попробую что-нибудь в этом пункте ". Это одноэлементный файл, поэтому он должен существовать независимо от области действия AppDelegate.

Я пробовал несколько вещей - добавление методов для КАЖДОГО метода SKPaymentTransactionObserver, чтобы увидеть, вызывается ли SOMETHING, - это не так. Я не получаю никаких вызовов ни для каких методов делегата.

Я попытался принудительно восстановить restoreCompletedTransactions в очереди по умолчанию - получил вызов paymentQueueRestoreCompletedTransactionsFinished, но транзакций в уведомлении нет.

Пока я не НУЖНО иметь промо-коды, я хочу, чтобы люди потенциально могли покупать товары IAP в App Store. И я очень расстроен, что не могу понять, почему я не получаю НИКАКОГО погашения кода.

Я ищу какие-то странные впечатления, которые вы, возможно, испытали с этим материалом. Любое руководство по его устранению (просмотр незавершенных транзакций, какой аккаунт, какие промо-коды и т. Д. c.). Я, честно говоря, в растерянности, почему я не получаю никаких транзакций в свое приложение.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...