Til*_*ill 24 android facebook facebook-android-sdk facebook-sdk-4.x
我通过Gradle在我的Android应用程序中集成了FB SDK,用于登录和跟踪事件.登录工作正常,但是一旦我尝试记录应用程序事件,logcat每15秒就会向我显示一个异常:
D/com.facebook.appevents.AppEventsLogger: Got unexpected exception: java.lang.ClassNotFoundException: com.facebook.a.b
Run Code Online (Sandbox Code Playgroud)
它会被PersistedEvents的readAndClearStore()方法抛出
这是我记录事件的代码:
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);
Run Code Online (Sandbox Code Playgroud)
我的意思是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
Run Code Online (Sandbox Code Playgroud)
他们在他们的文档中说了以下内容:
您无需执行任何其他步骤即可将 ProGuard 用于 Facebook Android SDK。有关 Proguard 的说明,请参阅 Android 工具项目站点,运行 ProGuard。
在查看了导致在发布环境中未记录任何事件的原因后,我将以下规则添加到我的 proguard 文件中,然后神奇地开始正常工作:
-keep class com.facebook.** { *; }
Run Code Online (Sandbox Code Playgroud)
我们已经向 Facebook 开发团队提交了一张票,以便了解更多相关信息。https://developers.facebook.com/bugs/250752828645777/
| 归档时间: |
|
| 查看次数: |
1083 次 |
| 最近记录: |