すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:スタートアップページの設定

最終更新日:Jan 17, 2025

スタートアップページ広告は、スプラッシュ広告とも呼ばれます。スタートアップページ(スプラッシュとも呼ばれます)は、アプリの読み込み開始後、LaunchScreen のシステム通知が終了するまで表示されます。スタートアップページは、ホームページが表示されると非表示になります。

クライアントでスタートアップページを設定した後、コンソールでスプラッシュブースと広告コンテンツを設定できます(詳細については、「ブースを作成する」および「マーケティングアクティビティを作成する」をご参照ください)。 アプリケーションは、構成に基づいてブース配信データを取得して表示し、データの動的な配信と表示を実現します。

説明

配信データのダウンロードは非同期プロセスであるため、スタートアップページの配信を設定した後、アプリケーションの起動をブロックしないように、初回のみダウンロード操作が実行され、イメージはローカルにキャッシュされます。次回アプリケーションを起動すると、キャッシュされたイメージが表示されます。

mPaaS フレームワークに基づくと、スタートアップページのタイミングと原則は次のとおりです。 mPaaS フレームワークの詳細については、「mPaaS フレームワークの概要」をご参照ください。

  1. フレームワークが起動すると、フレームワークはアプリケーションのメインウィンドウを管理するブートローダーを作成します。

  2. スタートアップページが表示されると、フレームワークは自動的にウィンドウを切り替え、作成されたスタートアップページウィンドウをユーザーに返します。

  3. ブートローダーが起動を完了し、マイクロアプリケーション Launcher が表示を完了すると、フレームワークはスタートアップページを閉じ、メインウィンドウに戻ります。

前提条件

CDP コンポーネントが正しく起動していることを確認してください。 詳細については、「コンポーネントを起動する」をご参照ください。

手順

mPaaS フレームワークによって生成されたフレームワーク分類ファイル DTFrameworkInterface+MPCDPDemo_plugin.m(次の図を参照)で、以下の構成を完了します。

  1. スタートアップページの window オブジェクトを保持する静的変数を宣言します。

        static UIWindow *splashScreenWindow;
  2. ファイルの application:handleDidFinishLaunchingWithOptions: メソッドで、スタートアップページ広告ロジックを実装し、スタートアップページを開きます。

        - (DTFrameworkCallbackResult)application:(UIApplication *)application handleDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
            // 広告ロジック。
          // スタートアップページが存在するかどうかを確認します。
            BOOL showSplashWindow = YES;
          showSplashWindow = splashScreenExist(showSplashWindow);
            if (showSplashWindow) {
                __weak typeof(self) weakSelf = self;
            // スタートアップページを開きます。
                splashScreenWindow = APSplashScreenStart(^{
                // スタートアップページを閉じるためのコールバック。
                    [weakSelf splashScreenDidDismiss];
                });
            }
    
            return DTFrameworkCallbackResultContinue;
        }
  3. スタートアップページを閉じるロジックを実装します。

    これには、アプリケーションのメインウィンドウの切り替え、スタートアップページウィンドウの解放、スタートアップページのクローズに関する通知の送信が含まれます。最後の操作はオプションです。

        - (void)splashScreenDidDismiss {
            // アプリケーションのメインウィンドウをキーウィンドウとして復元します。
            [DTContextGet().window makeKeyAndVisible];
            [self performSelector:@selector(doDismiss) withObject:nil afterDelay:0.0];
        }
    
        - (void)doDismiss {
            // スタートアップページオブジェクトを解放します。
            splashScreenWindow.rootViewController = nil;
            splashScreenWindow = nil;
            [self notifySplashScreenDismiss];
        }
    
        - (void)notifySplashScreenDismiss {
            // スプラッシュスクリーンのクローズに関する通知を送信します。この操作はオプションです。
            [[NSNotificationCenter defaultCenter] postNotificationName:@"kSplashScreenDidDismiss" object:nil];
        }
  4. フレームワークの起動読み込みが完了した後、スタートアップページがまもなく閉じられることをフレームワークに通知します。

    application:afterDidFinishLaunchingWithOptions: メソッドで通知メソッドを呼び出すことをお勧めします。

        - (void)application:(UIApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
            APWillKillSplashScreen();
          // ...
        }
  5. ホームページ ViewController が起動した後、スタートアップページが実際に閉じられたことを通知します。

    ViewController は通常、Launcher マイクロアプリケーションの rootViewController です。 ViewControllerTabBarController の場合、最初のタブが配置されている ViewController です。

        @implementation HomeViewController
    
        - (void)viewDidLoad {
            [super viewDidLoad];
        }
    
        - (void)viewDidAppear:(BOOL)animated {
            [super viewDidAppear:animated];
            // ホームページが表示されたことを Launcher に通知します。
            [[NSNotificationCenter defaultCenter] postNotificationName:@"kNotificationLauncherDidAppear" object:nil];
        }
        @end

関連リンク

スタートアップページ API の詳細については、「API の説明」をご参照ください。