我通过Gradle将FB SDK集成到了我的Android应用中,用于登录和跟踪事件。登录工作正常,但是一旦我尝试记录应用程序事件,logcat就会每15秒向我显示一个异常:

D/com.facebook.appevents.AppEventsLogger: Got unexpected exception: java.lang.ClassNotFoundException: com.facebook.a.b

它被扔进去了
PersistedEvents' readAndClearStore() method

这是我记录事件的代码:
AppEventsLogger logger = AppEventsLogger.newLogger(this);
    Bundle parameters = new Bundle();
    parameters.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "EUR");
    parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
    parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, id);

    logger.logEvent(AppEventsConstants.EVENT_NAME_VIEWED_CONTENT,
            1.99,
            parameters);

我的意思是com.facebook.a.b对我来说似乎是一个保卫问题。但是在FB SDK文档中,他们明确指出您无需输入任何Proguard规则即可使其正常工作。当我不缩小我的应用程序,以及我是否从github下载sdk并将其作为模块包含在内时,也会显示此错误。

最佳答案

前几天我在 Facebook SDK(v4.11.0)中的记录器遇到了类似的问题:

D/com.facebook.a.a(PID): Got unexpected exception: java.io.WriteAbortedException: Read an exception; java.io.NotSerializableException: org.json.JSONObject

在他们的documentation中,他们说:



在查看导致未在发布环境中记录任何事件的原因后,我将以下规则添加到我的proguard文件中,然后神奇地开始正常工作:
-keep class com.facebook.** { *; }

我们已经打开了Facebook开发人员团队的门票,以获取有关此的更多信息。 https://developers.facebook.com/bugs/250752828645777/

10-07 19:17
查看更多