2017-08-03 1 views
7

Ich habe ein iOS-In-App-Auto-Renewable-Abonnement erstellt, jetzt versuche ich, Benutzern den Kauf in einer React-Native-App zu ermöglichen.Empty Auto-Renewing iOS In-App-Käufe von SKProductsRequest initWithProductIdentifiers

Ich habe react-native-in-app-utils gefunden, aber kann nicht scheinen, meine Produkte sogar zu laden. Ich habe 3 "Produkte" (auto-erneuerbare Abonnements) in iTunes verbinden, sondern versuchen, sie zu laden, mit:

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

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

nur protokolliert "Produkte: []".

Graben ein wenig tiefer, habe ich einige zusätzliche Protokollierung der Objective-C-Code zu tun die Abfrage hinzugefügt, und es sieht aus wie:

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"]); 
} 

Dann in der Rückruf:

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

Dies wird wie erwartet "Laden von Produkten" mit meinen Produkt-IDs protokollieren. Aber dann "Produkte Antwort()" ... leere Antwort.

Diese Produkte werden in iTunes Connect als "Bereit zum Senden" aufgeführt. Und sie wurden den App-Informationen unter In-App-Käufe hinzugefügt. Was gibt? Warum tauchen die Produkte nicht auf?

+0

Haben Sie den Vertrag für ein kostenpflichtiges Produkt von iTunes eingereicht? –

+0

Ja. Das sollte schon gemacht werden. – nicholas

+0

Haben Sie in iTunes Connect für jedes Abonnement die Checkbox Freigegeben für Verkauf ausgewählt? – Jad

Antwort

0

Sieht so aus, als wäre es ein administratives, kein technisches Problem. Der Projektmanager hatte die Vereinbarung für kostenpflichtige Apps nicht umgesetzt.