如何在本机Facebook SDK中使用标准事件

时间:2016-12-05 20:05:17

标签: facebook react-native

Facebook SDK能够记录自定义事件和标准事件。标准事件是"购买" "加入购物车" "完成注册"等...

通过录制这些标准活动,您可以访问Facebook广告上的特定出价功能,而这些功能是您在没有活动的情况下获得的。

我有一个拥有React Native FBSDK

的应用

定义一个事件有两种方法 - 一种用于购买,另一种用于其他所有事件here

在Github上的SDK内或在Facebook developer platform上的事件跟踪文档中,有关于反应的标准事件没有文档。

现在我正试图通过使用各种名称来跟踪标准事件,这些名称是在FB的文档中记录的。我尝试过以下方法:

AppEventsLogger.logEvent('FBSDKAppEventNameCompletedRegistration'); AppEventsLogger.logEvent('CompletedRegistration'); AppEventsLogger.logEvent('Completed Registration');

所有这些只是使用这些名称创建自定义事件,但不被识别为标准事件。

有没有人使用FB SDK的React Native包装器获得标准事件?如果是这样,你怎么命名事件让FB识别它们?

3 个答案:

答案 0 :(得分:6)

看起来你必须传递那些标准事件被评估的字符串,即代替'FBSDKAppEventNameCompletedRegistration',你必须使用:'fb_mobile_complete_registration'。

这是source

对不起,如果这有点晚了。希望这会有所帮助。

答案 1 :(得分:1)

我设法通过使用tool on Facebook's documentation生成标准事件代码来找到实际的事件名称,在AppDelegate.m中运行代码,并从Events Manager获取确切的键值。通过这种回旋方式,我意识到“添加到购物车”事件的实际名称是fb_mobile_add_to_cart。从那里我搜索了名称,并找到了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);
}

答案 2 :(得分:0)

我制作了一个包含所有事件的简单程序包。就像

一样导入
import FBEvents from "react-native-fbsdk-events";
// ...
AppEventsLogger(FBEvents.COMPLETE_REGISTRATITON, params);