ich ein Projekt vorbestehenden Obj-C hatte, so dass ich Jury-manipulierten es diesen Anruf in Swift zu zeigen.
Hier ist der SDK-Header Import I Bridging-Header.h
Datei in mein Projekt hinzuzufügen benötigt:
#import <Chartboost/CBAnalytics.h>
Hier ist meine eigentliche Swift Aufruf:
//Swift
@objc func makeChartboostPIACall(myReceipt:NSData, myProduct:SKProduct) {
CBAnalytics.trackInAppPurchaseEvent(myReceipt, product: myProduct)
}
Es so einfach sein sollte, aber hier ist ein wenig mehr Details darüber, woher diese Werte stammen, stammen von:
In meinem Fall habe ich die Werte von meinem Obj-C-Code übergeben:
Ich machte diesen Anruf, nachdem ich gerade bestätigt hatte, dass ein Zahlungsvorgang erfolgreich abgeschlossen wurde (SKPaymentTransactionStatePurchased
). Somit ist "Transaktion" ein SKPaymentTransaction
Objekt und "myProduct" ist das übereinstimmende SKProduct
von dem, was gerade gekauft wurde.
https://developer.apple.com/library/ios/documentation/StoreKit/Reference/SKPaymentTransaction_Class/index.html#//apple_ref/occ/instp/SKPaymentTransaction/transactionReceipt https://developer.apple.com/library/ios/documentation/StoreKit/Reference/SKProduct_Reference/index.html
Es ist erwähnenswert, dass transaction.transactionReceipt
als von iOS 7 veraltet, und dies ist die empfohlene Methode geht nach vorn zu verwenden:
//Obj-C
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];
Es ist auch erwähnenswert, dass, wenn dies nicht der Fall ist Wenn Sie wie erwartet arbeiten, ist möglicherweise etwas Bestimmtes an der von Ihnen verwendeten Integration unerwartet. Wenn ja, könnten Sie uns eine E-Mail mit weiteren Details an [email protected] schicken? Wir würden uns freuen, dies eingehend zu prüfen und dann zurückkommen, um die Antwort zu aktualisieren. – Kairon