Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use of unresolved identifier FBSDKAppEventNamePurchased

I'm trying to log some events in my iOS application using the Facebook Analytics SDK.

First, I logged an event and this works well:

FBSDKAppEvents.logEvent(FBSDKAppEventNameInitiatedCheckout, valueToSum: price, parameters: parameters)

Then I tried to log the next one:

FBSDKAppEvents.logEvent(FBSDKAppEventNamePurchased, valueToSum: price, parameters: parameters)

And Xcode says that there is no such identifier named FBSDKAppEventNamePurchased.

I dived into the Facebook documentation and recognized that it exists:

enter image description here

So, I really have not idea what hell is going on. Does anybody had the same issue?

like image 981
Alexander Perechnev Avatar asked May 06 '16 12:05

Alexander Perechnev


1 Answers

Okay, finally I found the reason of the problem and it's solution.

The FBSDKAppEventNamePurchased event constant is a private constant of Facebook SDK, so we can't use it in our code directly.

We should use:

FBSDKAppEvents.logPurchase(price, currency: currencyCode, parameters: parameters)

instead of:

FBSDKAppEvents.logEvent(FBSDKAppEventNamePurchased, valueToSum: price, parameters: parameters).

I really don't know why Facebook still have the FBSDKAppEventNamePurchased event on their documentation pages, but this way is the way to go.

like image 198
Alexander Perechnev Avatar answered Sep 17 '22 15:09

Alexander Perechnev