Может ли быть несколько точек входа для отображения 1 In-App Purchase для iTunes?

Я впервые реализую функцию In-App Purchase (IAP). Я использую Soomla для реализации IAP в Unity3D для iOS/Android, и я начал для версии для iOS...

Я разрабатываю игру, в которой 1-й уровень разблокирован, в то время как для доступа к другим уровням пользователи должны платить, следовательно, если какой-либо пользователь нажмет на кнопки другого уровня, появится IAP. Это наша первая "точка входа".

Для нашей 2-й точки входа, если пользователь играет 1-й уровень и пересекает его, в этот момент должен появиться IAP. Это тот же IAP (плати, чтобы играть на других уровнях).

Однако после тестирования приложения на устройствах iOS IAP на нашей второй "точке входа" не включается. Никаких ошибок или сбоев не возникает. Также проверил, используя разные тестеры песочницы, вход / выход из iTunes в настройках и т. Д.

Теперь мне интересно, разрешено ли это вообще? Прочитал документацию Soomla & IAP IAP, но ничего не смог найти. Даже поиск в Google ничего не показывает. Так что я смотрю, кто-нибудь может мне помочь?

Спасибо

2 ответа

Итак, вы в порядке, когда игрок нажимает кнопку, чтобы разблокировать следующий уровень? Ваша проблема состоит в том, чтобы просто имитировать функциональность нажатия этой кнопки в том месте, где они прошли первый уровень? Если я правильно понимаю вопрос, то, вероятно, буду использовать два метода:

1 - В момент завершения уровня вы можете написать SoomlaStore.Buy("item_id");

2 - Используйте NotificationCenter, чтобы запустить уведомление, когда уровень завершен, и перехватить это уведомление в другом классе и там есть SoomlaStore.Buy("item_id"); строка кода.

Я надеюсь понять вашу ситуацию.

В какой-то момент у вас должен быть массив для каждого IAP, в котором есть ваше приложение, тогда вы должны пометить внутреннюю переменную как TRUE и контролировать после покупки

Внутри моего кода IAP у меня есть это (этот код был взят из учебника Рэя Вендерлиха очень давно):

+ (IAPHelper *)sharedInstance {
    static dispatch_once_t once;
    static TTL_IAPHelper * sharedInstance;
    dispatch_once(&once, ^{
    NSSet * productIdentifiers = [NSSet setWithObjects:
                                  @"com.myCompany.myApp.IAPLevel01",
                                  @"com.myCompany.myApp.IAPLevel02",
                                  nil];
        sharedInstance = [[self alloc] initWithProductIdentifiers:productIdentifiers];
});
    return sharedInstance;
} 

Это ссылка на учебник Wenderlich "Старичка, но вкусненькая".

Я надеюсь, что это поможет вам.

Другие вопросы по тегам