Ich weiß, dass dies eine häufig gestellte Frage ist, aber ich habe meine Antwort nicht gefunden, nachdem ich alle ähnlichen Fragen gelesen hatte.Interstitial zwischen SplashScreen und HomePage (Segue funktioniert nicht, Blackscreen)
So, hier ist mein Problem, ich bin die Integration von Anzeigen in meiner Anwendung, und im Grunde, was ich versuche zu erreichen ist ein Interstitial
während der SplashScreen
zu zeigen, kurz vor den HomePage
erreichbar.
Denn jetzt ist es das, was ich habe:
- Starten Sie die App -> die Splashscreen-Anzeige -> die Homepage anzeigen und direkt nach der Interstitial-Anzeige.
Was ich will:
- Starten Sie die App -> die Splashscreen-Anzeige -> die Interstitial anzeigen und wenn die Anzeige geschlossen ist, Anzeige der Homepage.
ich die Interstitial
während der SplashScreen
anzeigen kann, aber meine performSegueWithIdentifier
funktioniert nicht, entweder es zeigt mir ein Blackscreen oder die App-Blöcke auf der Splas enter code here
hScreen.
Um zu illustrieren, was ich sage, hier ist ein Code meiner SplashScreen
ViewController
.
- (void)loadHomeView
{
if(_isDataLoaded && !_isInterstitialDisplay && [MFPreferencesUtils firstLaunch] != nil)
{
[self createSplashInterstitial];
//I also tried with performSelectorOnMainThread
}
}
Die Interstitielle Delegierten:
-(void)adsAdapterInterstitialDisappear:(Adapter *)adsAdapter{
_isInterstitialDisplay = NO;
[self displayHome];
}
Und die displayHome Methode aufgerufen, wenn der Benutzer die Anzeige schließt:
-(void) displayHome
{
dispatch_async(dispatch_get_main_queue(), ^{
[self performSegueWithIdentifier:@"SplashscreenDisappearToHome" sender:self];
});
}
ich denke, das ein einfaches Verhalten, vielleicht I don‘ t verstehe wirklich, wie Seeges funktioniert, aber wenn ich nicht die Interstitial
anrufen und stattdessen direkt meine HomePage
anrufen, funktioniert es.
- (void)loadHomeView
{
if(_isDataLoaded && !_isInterstitialDisplay && [MFPreferencesUtils firstLaunch] != nil)
{
[self performSelectorOnMainThread:@selector(displayHome) withObject:nil
waitUntilDone:NO];
}
}
Vielen Dank für das Lesen, lassen Sie mich wissen, wenn Sie einige Ratschläge haben.
Soweit ich mich erinnern kann, können Sie den interstitiellen Lebenszyklus nicht wirklich kontrollieren, da er wie ein Modal behandelt wird. Ich habe Code, der genau das tut, was Sie erreichen möchten, aber momentan keinen Zugriff darauf haben. Was ich Ihnen vorschlagen würde, wäre: Erstellen Sie einen Startbildschirm, der Ihren Startbildschirm nachahmt; Von dort rufen Sie Ihre Interstitial; Interstitial geschlossener Rückruf anhören, um zum nächsten Bildschirm zu gelangen. – Bienemann