iOS: полноэкранное объявление Tapjoy открывает несколько экранов
Я пытаюсь использовать Tapjoy для своих приложений, и я использую следующий код
-(void)getTapJoyAd{
[Tapjoy getFullScreenAd];
// A notification method must be set to retrieve the fullscreen ad object.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(getFullScreenAd:)
name:TJC_FULL_SCREEN_AD_RESPONSE_NOTIFICATION
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(fullscreenAdClosed:)
name:TJC_VIEW_CLOSED_NOTIFICATION
object:nil];
// This method requests the tapjoy server for current virtual currency of the user.
[Tapjoy getTapPoints];
// A notification method must be set to retrieve the points.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getUpdatedPoints:) name:TJC_TAP_POINTS_RESPONSE_NOTIFICATION object:nil];
}
проблема в том, что когда я снова вызываю метод, он открывает два экрана вместе... чем больше я вызываю этот метод, тем больше экранов открывается..
1 ответ
Решение
В основном проблема в том, сколько раз ваш notification
наблюдается, то ваш метод выполняется. Таким образом, один из способов предотвратить проблему - один раз. notification
размещен и наблюдается, затем удалите notification observer
, Также это зависит от вашего кода, то, как вы имеете дело с notification
часть. Так что попробуй remove observer
и проверьте ниже:-
-(void)viewDidDisappear:(BOOL)animated
{
[[NSNotificationCenter defaultCenter]removeObserver:self name:TJC_FULL_SCREEN_AD_RESPONSE_NOTIFICATION object:nil];
[[NSNotificationCenter defaultCenter]removeObserver:self name:TJC_VIEW_CLOSED_NOTIFICATION object:nil];
[[NSNotificationCenter defaultCenter]removeObserver:self name:TJC_TAP_POINTS_RESPONSE_NOTIFICATION object:nil];
}