2016-08-16 38 views
2

我已經通過頭文件導入了Chartboost,無法從Chartboost.framework獲取CBAnalytics來調用Swift中的下一個函數。如何通過swift使用Chartboost Analytics?

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

我跟着這些指示 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

回答

1

我有一個預先存在的OBJ-C項目,所以我陪審團操縱它顯示在斯威夫特這一呼籲。

這裏的SDK頭進口我需要添加到我的項目的​​文件:

#import <Chartboost/CBAnalytics.h> 

這裏是我的實際斯威夫特電話:

//Swift 
@objc func makeChartboostPIACall(myReceipt:NSData, myProduct:SKProduct) { 
    CBAnalytics.trackInAppPurchaseEvent(myReceipt, product: myProduct) 
} 

這應該是容易的,但這裏有一個多一點關於我傳入的值的詳細信息來自:

在我的情況中,我傳入了Obj-C代碼中的值:

//Obj-C 
[mySwiftInstance makeChartboostPIACall:transaction.transactionReceipt myProduct:myProduct]; 

我剛剛確認付款交易已成功完成(SKPaymentTransactionStatePurchased)之後發出了該電話。因此,「交易」是SKPaymentTransaction對象,「myProduct」是剛剛購買的對象SKProduct

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

值得一提的是,transaction.transactionReceipt被棄用的iOS 7,這是使用前進的推薦方法:

//Obj-C 
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL]; 
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL]; 
+0

另外值得一提的是,如果這不是按照預期工作,可能會有一些與您使用的集成有關的特定問題,這是意想不到的。如果是這樣,你能發郵件到[email protected]瞭解更多細節嗎?我們很樂意深入研究,然後回到這裏來更新答案。 – Kairon