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];
}
Другие вопросы по тегам