7
に私は主催者にバックトレースを見ることができるオーガナイザーFacebookのインタースティシャル広告クラッシュMopubプラグインは、ユニティ
にクラッシュを確認したときにFacebookのインタースティシャル広告はMopubプラグインでクラッシュ実現しました。
このクラッシュを編集して修正するには、真のファイルを探したいと思います。
そして、これは私が
ファイル使用方法です:AdSystem.cs
try {
MoPub.showInterstitialAd(adUnit.key1);
}
catch(Exception e) {
}
そして、これがMopub https://github.com/mopub/mopub-ios-sdk/tree/master/AdNetworkSupport/Facebook
のためのFacebookの間質アダプターですファイル:FacebookInterstitialCustomEvent.m
あなたがプリフェッチ間質べきMopubの公式サイトから//
// FacebookInterstitialCustomEvent.m
// MoPub
//
// Copyright (c) 2014 MoPub. All rights reserved.
//
#import <FBAudienceNetwork/FBAudienceNetwork.h>
#import "FacebookInterstitialCustomEvent.h"
#import "MPInstanceProvider.h"
#import "MPLogging.h"
@interface MPInstanceProvider (FacebookInterstitials)
- (FBInterstitialAd *)buildFBInterstitialAdWithPlacementID:(NSString *)placementID
delegate:(id<FBInterstitialAdDelegate>)delegate;
@end
@implementation MPInstanceProvider (FacebookInterstitials)
- (FBInterstitialAd *)buildFBInterstitialAdWithPlacementID:(NSString *)placementID
delegate:(id<FBInterstitialAdDelegate>)delegate
{
FBInterstitialAd *interstitialAd = [[FBInterstitialAd alloc] initWithPlacementID:placementID];
interstitialAd.delegate = delegate;
return interstitialAd;
}
@end
@interface FacebookInterstitialCustomEvent() <FBInterstitialAdDelegate>
@property (nonatomic, strong) FBInterstitialAd *fbInterstitialAd;
@end
@implementation FacebookInterstitialCustomEvent
- (void)requestInterstitialWithCustomEventInfo:(NSDictionary *)info
{
if (![info objectForKey:@"placement_id"]) {
MPLogError(@"Placement ID is required for Facebook interstitial ad");
[self.delegate interstitialCustomEvent:self didFailToLoadAdWithError:nil];
return;
}
MPLogInfo(@"Requesting Facebook interstitial ad");
self.fbInterstitialAd =
[[MPInstanceProvider sharedProvider] buildFBInterstitialAdWithPlacementID:[info objectForKey:@"placement_id"]
delegate:self];
[self.fbInterstitialAd loadAd];
}
- (void)showInterstitialFromRootViewController:(UIViewController *)controller {
if (!self.fbInterstitialAd || !self.fbInterstitialAd.isAdValid) {
MPLogError(@"Facebook interstitial ad was not loaded");
[self.delegate interstitialCustomEventDidExpire:self];
} else {
MPLogInfo(@"Facebook interstitial ad will be presented");
[self.delegate interstitialCustomEventWillAppear:self];
[self.fbInterstitialAd showAdFromRootViewController:controller];
MPLogInfo(@"Facebook interstitial ad was presented");
[self.delegate interstitialCustomEventDidAppear:self];
}
}
- (void)dealloc
{
_fbInterstitialAd.delegate = nil;
}
#pragma mark FBInterstitialAdDelegate methods
- (void)interstitialAdDidLoad:(FBInterstitialAd *)interstitialAd
{
MPLogInfo(@"Facebook intersitital ad was loaded. Can present now");
[self.delegate interstitialCustomEvent:self didLoadAd:interstitialAd];
}
- (void)interstitialAd:(FBInterstitialAd *)interstitialAd didFailWithError:(NSError *)error
{
MPLogInfo(@"Facebook intersitital ad failed to load with error: %@", error.description);
[self.delegate interstitialCustomEvent:self didFailToLoadAdWithError:nil];
}
- (void)interstitialAdDidClick:(FBInterstitialAd *)interstitialAd
{
MPLogInfo(@"Facebook interstitial ad was clicked");
[self.delegate interstitialCustomEventDidReceiveTapEvent:self];
}
- (void)interstitialAdDidClose:(FBInterstitialAd *)interstitialAd
{
MPLogInfo(@"Facebook interstitial ad was closed");
[self.delegate interstitialCustomEventDidDisappear:self];
}
- (void)interstitialAdWillClose:(FBInterstitialAd *)interstitialAd
{
MPLogInfo(@"Facebook interstitial ad will close");
[self.delegate interstitialCustomEventWillDisappear:self];
}
@end
ご返信ありがとうございます。私は既にインタースティシャルをプリフェッチしています。私のコードは完璧に動作していますが、デバイスのいくつかがクラッシュします。私はクラッシュを修正したいだけです –
2つまたは3つのデバイス名の例を提供できますか? –
Iphone 6s 10.2 Iphone SE 10.2 Iphone 5s 10.2.1 Iphone 6 10.2 Facebookの広告の一部がクラッシュすると思います。 try catchを使ってFacebookInterstitialCustomEvent.mファイルを修正すると、このクラッシュを取り除くことができますか? –