2016-08-16 2 views
2

Я импортировал Chartboost через заголовки и не могу получить CBAnalytics из Chartboost.framework для вызова следующей функции в 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, так что жюри сфальсифицированы его, чтобы показать этот вызов в Swift.

Вот импорт заголовка SDK Мне нужно добавить в Bridging-Header.h файл моего проекта:

#import <Chartboost/CBAnalytics.h> 

Вот мой фактический Swift вызов:

//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 является устаревшим прошивкой 7, и это рекомендуемый метод, чтобы использовать в будущем:

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

Стоит также отметить, что, если это не работая, как ожидалось, может быть что-то конкретное в отношении интеграции, которую вы используете, это неожиданно. Если да, можете ли вы отправить электронное письмо по адресу [email protected] с подробной информацией? Мы с удовольствием рассмотрим это подробно, а затем вернемся сюда, чтобы обновить ответ. – Kairon

 Смежные вопросы

  • Нет связанных вопросов^_^