聚合 LTSdk统一闪屏解决方案

很多SDK都明确要求在游戏启动的时候,显示一张含有渠道SDK Logo的一张全屏图片,大概需要显示2至3秒的时间。像UC,百度SDK是在自己的SDK里已经自带了闪屏的功能(一般是在SDK初始化的时候)。但是,还有很多其他渠道需要游戏在接入他们的SDK时,自己去实现这个闪屏功能。他们仅仅提供一张闪屏图片。

那么,如何做到游戏启动的时候,先启动闪屏图片,显示两三秒再切换到游戏画面呢?我们的做法是定义一个SplashActivity。作为主启动Activity。这个Activity就是显示指定的闪屏图片,两三秒之后启动游戏的主Activity。

那么,现在要解决的是,因为我们不能再SplashActivity里写死,启动哪个游戏的Activity.因为,LTSdk是针对所有游戏的,每个游戏的启动Activity都不一样,所以,我们在闪屏结束后跳转到游戏的主Activity时可以使用抽象方法,让CP自己去实现这个跳转过程。

首先,我们来看下这个LTSplashActivity

@Override
protected int getBackgroundColor() {
    return Color.WHITE;
}

@Override
protected void startGameActivity() {
    Intent intent = new Intent(this,MainActivity.class);
    startActivity(intent);
    finish();
}

 

在LTSplashActivity里面我们首先创建一个动态布局FrameLayout,然后将ImageView添加进去,并设置属性。然后获取游戏配置的横竖屏设置,根据不同的屏幕配置我们设置不同的图片资源,这个时候我们就做到了游戏的横竖屏适配。在闪屏结束后,就可以开启游戏的主Activity了,但是这个时候我们并不知道游戏的主Activity是什么,怎么解决呢?那就让游戏自己去实现,我们只需要提供抽象方法给游戏实现即可。

不管渠道有一张或者多张闪屏,我们都放在集合中顺序播放就可以了,没有则直接进入游戏主Activity即可。

猜你喜欢

转载自blog.csdn.net/qq_37792992/article/details/79879219
今日推荐