我正在尝试实施facebook SDK来跟踪我的应用程序中的添加到购物车事件,但它在这里不起作用是我的代码
首先,我在我的应用程序react-native-fbsdk中导入了facebook SDK,它已成功安装并且登录功能运行良好。
现在在产品界面中,我从SDK
导入facebook AppEventsLogger和AppEventsConstantsconst FBSDK = require('react-native-fbsdk');
const {
AppEventsLogger,
AppEventsConstants
} = FBSDK;
当用户将产品成功添加到购物车时,我需要在日志中跟踪此事件,我尝试下面的代码,但它无法正常工作
var params = {};
params[AppEventsConstants.CONTENT] = "Sample Product 1";
params[AppEventsConstants.CONTENT_ID] = "1";
params[AppEventsConstants.CONTENT_TYPE] = "Product";
params[AppEventsConstants.CURRENCY] = "INR";
AppEventsLogger.logEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_WISHLIST, 40, params)
上面的代码给我一个未定义的错误。请帮我解决一下这个问题。
答案 0 :(得分:0)
不幸的是,react-native-fbsdk不提供标准事件名称和参数名称的常量。经过研究后,我发现Marketing API文档中列出了实际名称(为什么没有App Events?)。
我不知道它是否在正确的位置,但是您可以参考https://developers.facebook.com/docs/marketing-api/app-event-api/以获得实际的标准事件名称和参数名称。至少在我看来,它有效。这是我的“添加到购物车”事件代码:
function logAddToCart(totalPrice, contentType, contentId, currency) {
const params = {
'fb_content_type': contentType,
'fb_content_id': contentId,
'fb_currency': currency
};
AppEventsLogger.logEvent('fb_mobile_add_to_cart', totalPrice, params);
}
答案 1 :(得分:0)
u可以从文档中读取react-native-fbsdk https://github.com/facebook/react-native-fbsdk/blob/17af77b48ad6ea62fa3c0f552cd8f6a699ef6a64/src/FBAppEventsLogger.js#L92
// helpers
import { AppEventsLogger } from 'react-native-fbsdk'
export const FB_ADDED_TO_CART = 'fb_mobile_add_to_cart'
export async function logAdsEvent(eventName, ...args) {
let valueToSum = 0
if (typeof args[0] === 'number') {
valueToSum = args.shift()
}
let parameters = null
if (typeof args[0] === 'object') {
parameters = toSnakeCase(args[0])
}
AppEventsLogger.logEvent(eventName, valueToSum, parameters)
}
实现
import helpers
logAdsEvent(FB_ADDED_TO_CART, result.stores[0].subTotal || 0, {
fbContent: JSON.stringify(result.stores[0]),
fbCurrency: 'IDR'
})