如何在 android 中使用 Bundle 标记 FB 事件

How to tag FB event with Bundle in android

我遇到了使用特定 Bundle 记录 facebook 事件的奇怪行为。

这是我的有效代码

fbLogger.logEvent("account_created");

如果我看到日志,我会得到

Result: Success
Events JSON: [
{
"_eventName": "account_created",
"_logTime": 1450255727,
"_ui": "UserCreateFbActivity_"
}
]

但是如果我尝试像这样发送 Bundle

Bundle extras = new Bundle();
if (userToPost.getSponsorCode() != null && !userToPost.getSponsorCode().isEmpty()) {
    extras.putBoolean("sponsor", true);
} else {
    extras.putBoolean("sponsor", false);
}

extras.putBoolean("facebook_connect", true);
fbLogger.logEvent("account_created", extras);

日志不同,事件未记录

Invalid app event name or parameter:
Result: Success
Events JSON: [
null
]

SDK 版本:4.8.1

解决方法是不要使用布尔类型 ><.感谢@ifaour

这是我的解决方案

Bundle extras = new Bundle();
if (userToPost.getSponsorCode() != null && !userToPost.getSponsorCode().isEmpty()) {
    extras.putString("sponsor", "true");
} else {
    extras.putString("sponsor", "false");
}

我不明白为什么布尔类型无效,但这个解决方案有效...