Closed4
[Unity,MAX]FBAudienceNetworkでクラッシュ
Unity製アプリにMAXというApplovinのメディエーションツールを使ってFacebookAudienceNetworkを導入していた。
最新のバージョンにアップデートしたら起動時にクラッシュするようになった。
同様の現象で困ってる質問:
類似?:
Facebookのmediationを抜くことで一旦スルーしていたけど、やはりマネタイズ的には必要だと思ったので改めて調査することに。
まず同様の問題が起きる最小のプロジェクトを作成。
Maxのプラグインと初期化の処理だけのプロジェクトを作成。
ビルドして実行。
2021-03-04 16:00:03.696949+0900 MaxFanCheck[49142:9956601] [AppLovinSdk] DEBUG [MAInterstitialAd] Created new MAInterstitialAd (<MAFullscreenAdController: 0x283764f80>)
2021-03-04 16:00:03.697751+0900 MaxFanCheck[49142:9956601] [AppLovinSdk] DEBUG [MARewardedAd] Created new MARewardedAd (<MAFullscreenAdController: 0x283734d00>)
2021-03-04 16:00:03.833777+0900 MaxFanCheck[49142:9956601] Uncaught exception: FBFinalClassViolationException: FBAdConfigManager is a final class and cannot be subclassed. FBAdConfigManager
このエラーが出た。
最小構成でエラーが出たので、このまま調べる。
これ見る感じ、cocoapods周りが怪しそう?
- Facebookから直接frameworkを落として導入してみる
→駄目だった - Unity上のiOSResolverの設定を変更
- Link frameworks statically
- Link frameworks statically
生成されるPodfileの
use_frameworks!
が
use_frameworks! :linkage => :static
になるように変更した。
結果としてこの変更でエラー無く起動できるようになった
iOSのFrameworkにはStaticとDynamicの2種類があり、どうやら今回の場合FacebookのAdapterではDynamicのFrameworkを使ってると起きるエラーみたい。
Staticに切り替えて何か他の部分で不具合が出ないかな〜と思い調べてみたけど、
によると、アプリのサイズが大きくなる代わりに起動時間が短くなるみたい。Dynamicは起動時に必要なFrameworkの組み合わせを作る的な感じなのかな。
stackoverflowにも一応コメントしといた
このスクラップは2021/03/04にクローズされました