2016-08-16 3 views
2

Ich habe Chartboost über Header importiert und kann CBAnalytics von Chartboost.framework nicht abrufen, um die nächste Funktion in Swift aufzurufen.Wie verwendet man Chartboost Analytics mit swift?

+ (void) trackInAppPurchaseEvent:(NSData *)transactionReceipt 
         product:(SKProduct *)product; 

Ich folgte diesen Anweisungen https://answers.chartboost.com/hc/en-us/articles/205606995 https://answers.chartboost.com/hc/en-us/articles/204639335-Post-Install-Analytics-Event-Level-Tracking-via-SDK#ios

Antwort

1

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]; 
+0

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

Verwandte Themen