0

在我們的遊戲中,我們使用Facebook SDK for Unity(v7.5.0)以及IronSource的獎勵視頻中介。試圖展示觀衆網絡獎勵視頻時崩潰

底層的Facebook SDK for Android是v4.11.0。

當試圖表現出獎勵視頻,我們的遊戲崩潰與此異常:

E/JavaBinder(1172): !!! FAILED BINDER TRANSACTION !!! (parcel size = 521496) 
W/ActivityManager(1172): Exception when starting activity com.moonactive.coinmaster/com.facebook.ads.AudienceNetworkActivity 
W/ActivityManager(1172): android.os.TransactionTooLargeException: data parcel size 521496 bytes 
W/ActivityManager(1172): at android.os.BinderProxy.transactNative(Native Method) 
W/ActivityManager(1172): at android.os.BinderProxy.transact(Binder.java:503) 
W/ActivityManager(1172): at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:1088) 
W/ActivityManager(1172): at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:2540) 
W/ActivityManager(1172): at com.android.server.am.ActivityStackSupervisor.startSpecificActivityLocked(ActivityStackSupervisor.java:2661) 
W/ActivityManager(1172): at com.android.server.am.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:3493) 
W/ActivityManager(1172): at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:2613) 
W/ActivityManager(1172): at com.android.server.am.ActivityStackSupervisor.resumeTopActivitiesLocked(ActivityStackSupervisor.java:5060) 
W/ActivityManager(1172): at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1687) 
W/ActivityManager(1172): at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1552) 
W/ActivityManager(1172): at com.android.server.am.ActivityStack.activityPausedLocked(ActivityStack.java:1474) 
W/ActivityManager(1172): at com.android.server.am.ActivityManagerService.activityPaused(ActivityManagerService.java:10204) 
W/ActivityManager(1172): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:547) 
W/ActivityManager(1172): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:4014) 
W/ActivityManager(1172): at android.os.Binder.execTransact(Binder.java:453) 
D/ActivityManager(1172): isAutoRunBlockedApp:: com.moonactive.coinmaster, Auto Run ON 
W/ActivityManager(1172): Force removing ActivityRecord{6a0b73e u0 com.moonactive.coinmaster/com.moon.coinmaster.android.GameActivity t756}: app died, no saved state 

這是一個已知的bug已經解決?我找不到類似於此的任何錯誤。

+0

FWIW,上週五我開始獲得同樣的東西(FAN w/IronSource調解)。 –

+0

當我「移除」IronSource的Facebook適配器時,我的崩潰開始消失。仍在研究這一點,而且我並沒有聲稱它是FB適配器。只是分享。 –

+0

如何在沒有適配器的情況下播放視頻? –

回答

2

Android SDK target 26+改變了活動可以傳遞數據的方式 - 基本上它們限制了可以傳遞的數據量。

最終Facebook會發布更新的AudienceNetwork.aar文件來解決此問題。

然而,解決方法如下:

統一自動構建Android項目針對最新和最偉大SDK中提供。在這一點上,這很可能是SDK 26。 Unity編輯器中沒有選項可以覆蓋此設置,但可以選擇覆蓋最低SDK版本。

  1. 打開團結項目
  2. 轉到文件 - >構建設置。確保選擇了「Android」。
  3. 點擊播放器設置,然後在右側,單擊以展開其他設置
  4. 請注意「最低API級別」。會有一些文字和數字,如Android 4.1'果凍豆'(API等級16)。在我的例子中,你想要的數字是。
  5. 保存並關閉您的項目。
  6. 導航到Unity項目的根目錄,然後導航到Assets/Plugins/Android文件夾。
  7. 在那裏編輯AndroidManifest.xml文件。

    第一行應該開始了:<?xml ...

    第二行應該是這樣的<manifest xmlns:android...

    插入此行的第三行:

    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="25" />

    更換「「與上面步驟4中所需的最低Sdk版本。將targetSdkVersion設置爲或24,或者您想要的任何數字 - 它必須低於26。

  8. 刪除Unity項目根目錄中的Temp文件夾。
  9. 打開Unity並重建您的項目。

如果你團結不,則只需更新您的targetSdkVersion 25或更低 - 更新的AndroidManifest.xml在主項目文件夾。截至今天早上,Facebook的最新版本仍然顯示4.25.0,如果您的目標是Android SDK 26,它仍然不起作用。