2017-08-03 35 views
7

Zrobiłem subskrypcję automatycznej kopii zapasowej w aplikacji, teraz próbuję zezwolić użytkownikom na zakup jej w aplikacji typu React-Native.Puste automatyczne odnawianie zakupów w systemie iOS od produktów SKProductsRequest initWithProductIdentifiers

Znalazłem react-native-in-app-utils, ale nie mogę załadować moich produktów. Mam "produkty" 3 (auto-subskrypcji odnawialnej) w iTunes Connect, ale próbuje załadować je:

var products = [ 
    'com.xxxx.app.monthly', 
    'com.xxxx.app.6months', 
    'com.xxxx.app.year', 
]; 

InAppUtils.loadProducts(products, (error, products) => { 
    console.log('products:', products); 
}); 

prostu loguje "produkty: []".

Kopiąc głębiej, dodałem trochę dodatkowego logowania do kodu objective-c robi zapytań, a to wygląda:

NSLog(@"loading products %@", productIdentifiers); 
if([SKPaymentQueue canMakePayments]){ 
    SKProductsRequest *productsRequest = [[SKProductsRequest alloc] 
              initWithProductIdentifiers:[NSSet setWithArray:productIdentifiers]]; 
    productsRequest.delegate = self; 
    _callbacks[RCTKeyForInstance(productsRequest)] = callback; 
    [productsRequest start]; 
} else { 
    callback(@[@"not_available"]); 
} 

następnie w callback:

NSLog(@"products response %@", response.products); 
products = [NSMutableArray arrayWithArray:response.products]; 
NSMutableArray *productsArrayForJS = [NSMutableArray array];  
for(SKProduct *item in response.products) { 
    NSDictionary *product = @{ 
    ... 

Spowoduje to rejestrację "ładowania produktów" z identyfikatorami produktów zgodnie z oczekiwaniami. Ale potem "odpowiedź produktu()" ... pusta odpowiedź.

Produkty te są wymienione w iTunes connect jako "Gotowy do wysłania". Zostały też dodane do informacji o aplikacji w Zakupach w aplikacji. Co daje? Dlaczego produkty się nie wyświetlają?

+0

czy złożyłeś zamówienie na produkt płatny z iTunes? –

+0

Tak. To powinno już być zrobione. – nicholas

+0

Czy sprawdziłeś pole Rozliczono na sprzedaż w iTunes connect dla każdej subskrypcji? – Jad

Odpowiedz

0

Wygląda na to, że był to problem administracyjny, a nie techniczny. Project Manager nie przeszedł umowy o płatnej aplikacji.