Facebook AudienceNetwork 错误
Facebook AudienceNetwork error
我已经使用他们的 Android SDK 从 facebook(FAN) 实现了 AudienceNetwork 插页式广告。
在显示第 7 个或第 8 个广告之前效果很好。然后,应用程序崩溃并抛出 android.os.TransactionTooLargeException.
这是日志:
08-25 14:57:37.441: E/JavaBinder(910): !!! FAILED BINDER TRANSACTION !!!
08-25 14:57:37.451: W/InputDispatcher(910): channel ~ Consumer closed input channel or an error occurred. events=0x9
08-25 14:57:37.451: E/InputDispatcher(910): channel ~ Channel is unrecoverably broken and will be disposed!
08-25 14:57:37.451: E/libprocessgroup(910): failed to kill 1 processes for processgroup 28261
08-25 14:57:37.451: I/WindowState(910): WIN DEATH: Window{34e42ccc u0 com.test.test/com.test.test.UnityPlayerActivity}
08-25 14:57:37.451: W/InputDispatcher(910): Attempted to unregister already unregistered input channel
08-25 14:57:37.451: I/WindowState(910): WIN DEATH: Window{3f95474c u0 SurfaceView}
08-25 14:57:37.451: W/ActivityManager(910): Exception in new application when starting activity com.test.test/com.facebook.ads.InterstitialAdActivity
08-25 14:57:37.451: W/ActivityManager(910): android.os.TransactionTooLargeException
08-25 14:57:37.451: W/ActivityManager(910): at android.os.BinderProxy.transactNative(Native Method)
08-25 14:57:37.451: W/ActivityManager(910): at android.os.BinderProxy.transact(Binder.java:496)
08-25 14:57:37.451: W/ActivityManager(910): at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:854)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1597)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:850)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:7540)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:7607)
08-25 14:57:37.451: W/ActivityManager(910): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:481)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2965)
08-25 14:57:37.451: W/ActivityManager(910): at android.os.Binder.execTransact(Binder.java:446)
08-25 14:57:37.451: A/ActivityManager(910): Exception thrown launching activities in ProcessRecord{3f10b395 30801:com.test.test/u0a405}
08-25 14:57:37.451: A/ActivityManager(910): android.os.TransactionTooLargeException
08-25 14:57:37.451: A/ActivityManager(910): at android.os.BinderProxy.transactNative(Native Method)
08-25 14:57:37.451: A/ActivityManager(910): at android.os.BinderProxy.transact(Binder.java:496)
08-25 14:57:37.451: A/ActivityManager(910): at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:854)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1597)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:850)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:7540)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:7607)
08-25 14:57:37.451: A/ActivityManager(910): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:481)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2965)
08-25 14:57:37.451: A/ActivityManager(910): at android.os.Binder.execTransact(Binder.java:446)
08-25 14:57:37.451: I/ActivityManager(910): Killing 30801:com.test.test/u0a405 (adj 0): error during init
08-25 14:57:37.461: W/ActivityManager(910): Force removing ActivityRecord{2b621023 u0 com.test.test/com.facebook.ads.InterstitialAdActivity t149}: app died, no saved state
有什么建议吗?
主要问题可能是您调用并传递到视图、activity 或其他容器的内容的大小。
首先,您可以使用约 100KB 的较小内容进行测试以了解确切问题,然后您可以搜索如何减少传入内容的大小。
我是 Audience Network 的一名工程师。我们在 sdk 的 4.7.0 版中进行了更改,应该通过压缩 sdk 中的标记数据来减少 Intent 负载大小来防止这种情况发生。为了减轻对旧 sdk 版本的影响,我们对服务器发送的有效负载进行了一些修改——但仍然强烈建议升级到最新的 sdk 版本。
我已经使用他们的 Android SDK 从 facebook(FAN) 实现了 AudienceNetwork 插页式广告。
在显示第 7 个或第 8 个广告之前效果很好。然后,应用程序崩溃并抛出 android.os.TransactionTooLargeException.
这是日志:
08-25 14:57:37.441: E/JavaBinder(910): !!! FAILED BINDER TRANSACTION !!!
08-25 14:57:37.451: W/InputDispatcher(910): channel ~ Consumer closed input channel or an error occurred. events=0x9
08-25 14:57:37.451: E/InputDispatcher(910): channel ~ Channel is unrecoverably broken and will be disposed!
08-25 14:57:37.451: E/libprocessgroup(910): failed to kill 1 processes for processgroup 28261
08-25 14:57:37.451: I/WindowState(910): WIN DEATH: Window{34e42ccc u0 com.test.test/com.test.test.UnityPlayerActivity}
08-25 14:57:37.451: W/InputDispatcher(910): Attempted to unregister already unregistered input channel
08-25 14:57:37.451: I/WindowState(910): WIN DEATH: Window{3f95474c u0 SurfaceView}
08-25 14:57:37.451: W/ActivityManager(910): Exception in new application when starting activity com.test.test/com.facebook.ads.InterstitialAdActivity
08-25 14:57:37.451: W/ActivityManager(910): android.os.TransactionTooLargeException
08-25 14:57:37.451: W/ActivityManager(910): at android.os.BinderProxy.transactNative(Native Method)
08-25 14:57:37.451: W/ActivityManager(910): at android.os.BinderProxy.transact(Binder.java:496)
08-25 14:57:37.451: W/ActivityManager(910): at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:854)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1597)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:850)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:7540)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:7607)
08-25 14:57:37.451: W/ActivityManager(910): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:481)
08-25 14:57:37.451: W/ActivityManager(910): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2965)
08-25 14:57:37.451: W/ActivityManager(910): at android.os.Binder.execTransact(Binder.java:446)
08-25 14:57:37.451: A/ActivityManager(910): Exception thrown launching activities in ProcessRecord{3f10b395 30801:com.test.test/u0a405}
08-25 14:57:37.451: A/ActivityManager(910): android.os.TransactionTooLargeException
08-25 14:57:37.451: A/ActivityManager(910): at android.os.BinderProxy.transactNative(Native Method)
08-25 14:57:37.451: A/ActivityManager(910): at android.os.BinderProxy.transact(Binder.java:496)
08-25 14:57:37.451: A/ActivityManager(910): at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:854)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1597)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:850)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:7540)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:7607)
08-25 14:57:37.451: A/ActivityManager(910): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:481)
08-25 14:57:37.451: A/ActivityManager(910): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2965)
08-25 14:57:37.451: A/ActivityManager(910): at android.os.Binder.execTransact(Binder.java:446)
08-25 14:57:37.451: I/ActivityManager(910): Killing 30801:com.test.test/u0a405 (adj 0): error during init
08-25 14:57:37.461: W/ActivityManager(910): Force removing ActivityRecord{2b621023 u0 com.test.test/com.facebook.ads.InterstitialAdActivity t149}: app died, no saved state
有什么建议吗?
主要问题可能是您调用并传递到视图、activity 或其他容器的内容的大小。 首先,您可以使用约 100KB 的较小内容进行测试以了解确切问题,然后您可以搜索如何减少传入内容的大小。
我是 Audience Network 的一名工程师。我们在 sdk 的 4.7.0 版中进行了更改,应该通过压缩 sdk 中的标记数据来减少 Intent 负载大小来防止这种情况发生。为了减轻对旧 sdk 版本的影响,我们对服务器发送的有效负载进行了一些修改——但仍然强烈建议升级到最新的 sdk 版本。