2016-11-10 3 views
0

Ich implementiere InApp-Funktionen mit Download gehostetem Inhalt Feature. Alle Produkte sind für unbegrenzte Zeit frei. Jedem Produkt ist ein Download zugeordnet und das ist eine Audiodatei.inApp kaufen, kostenlose Produkte herunterladen

  1. Ist es möglich, den Download ohne Benutzer zu starten, siehe Dialog, um ein kostenloses Produkt zu kaufen. Der erste Benutzer muss sein Apple-ID-Passwort eingeben, dann sieht er den Dialog, um ein kostenloses Produkt zu kaufen, und dann den Dialog, der das Produkt erfolgreich gekauft hat. Zum Herunterladen kann angefordert werden. Da aber alle Produkte frei sind, kann man sich den Download irgendwie ohne User anzeigen lassen siehe Konfigration Dialoge und Meldungen und starten den Download imedietly.

  2. Wenn Artikel wurde zuvor gekauft/heruntergeladen als Benutzer sehen Nachricht, die wieder kostenlos Artikel kaufen wird. Ich weiß für Wiederherstellungsfunktionen, aber muss ich zuvor heruntergeladene Elemente verfolgen und in diesem Fall den Download aus dem Wiederherstellungsstatus starten.

Vielen Dank!

+0

warum brauchen Sie In-App-Kauf für kostenlose Artikel – zombie

Antwort

0

1) Ja, Sie können ohne Dialoge herunterladen. Holen Sie sich das Produktdetail mit dem Store-Kit, und wenn der Produktpreis frei ist (0), laden Sie das Produkt herunter, ohne die Kaufanfrage von Storekit zu bearbeiten.

-Code Angaben zum Produkt verlangen:

KProductsRequest *productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithArray:productIdentifiers]]; 

// Keep a strong reference to the request. 
self.request = productsRequest; 
productsRequest.delegate = self; 
[productsRequest start]; 

// SKProductsRequestDelegate Protokollverfahren

- (void)productsRequest:(SKProductsRequest *)request 
    didReceiveResponse:(SKProductsResponse *)response 
{ 
    self.products = response.products; 

    for (NSString *invalidIdentifier in response.invalidProductIdentifiers) { 
     // Handle any invalid product identifiers. or check that product you are looking for dozens has its identifier here 

    } 
    for (SKProduct *product in self.products) 
    { 
     //for example, product you are looking for has identifier "com.product.free"   
     if([product.productIdentifier isEqualToString:@"com.product.free"] && [product.price compareWithInt:0]) 
     { 
       // Startdownloading without purchase 
     } 

    } 
} 

2) Wenn Sie nicht abschmelzenden inappt Kauf haben, müssen Sie die Option für die Wiederherstellung zur Verfügung stellen. Zum Herunterladen können Sie Ihre eigene Logik schreiben. Überprüfen Sie, ob das Element heruntergeladen und nur erneut heruntergeladen wird, wenn es nicht verfügbar ist.

+0

Danke für die Antwort. Ich verstehe alles, aber ich bin nicht klar, wie Doanload ohne SKPaymentQueue und Zahlungen, die InApp-Dialoge verursachen, zu starten? Oder wie man den Download von der Methode productRequest didReceiveResponse startet. Ich bin mir nicht sicher, ob das möglich ist. Können Sie bitte ein bisschen mehr Code zur Verfügung stellen, um den Download zu starten. Mein Code funktioniert, muss aber Zahlungen zur Zahlungswarteschlange hinzufügen und updatedTransactions erhalten, wo ich Downloads anfordern kann. In diesem Fall erscheinen jedoch System inApp-Dialoge/Warnungen. Vielen Dank! :] –

+0

@NikolaJovic für den Download ohne In-App-Kauf-Dialog, Ihre Inhalte müssen als On-Demand-Ressourcen gehostet werden. Sie können einem Inhalt, den Sie mit diesem Kauf herunterladen möchten, einen Tag zuweisen und den Download von NSBundleResourceRequest starten. https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/On_DemandResources_Guide/Managing.html#//apple_ref/doc/uid/TP40015083-CH4-SW1 – Darshana

Verwandte Themen