Skip to content

初始化

WARNING

初始化接口,需要在游戏主Activity中的onCreate方法中尽早调用。

设置SDK事件监听器

UGSDK在完成初始化、登录成功/失败、登出、支付成功/失败等时机,都会通过事件监听器通知给游戏层, 游戏层需要在初始化时,设置UGSDKListener对象:

点击查看代码
java
private sdkListener = new UGSDKListener() {
    @Override
    public void onInitFailed(int code, String msg) {
        // SDK初始化失败回调
        // 可能非UI线程, 如果需要操作UI,请在UI线程中操作
    }

    @Override
    public void onInitSuccess() {
        // SDK初始化成功回调
        // 可能非UI线程, 如果需要操作UI,请在UI线程中操作
    }

    @Override
    public void onLogout() {
        // 从SDK中登出成功, 游戏收到该回调, 需要返回游戏登录界面,引导玩家重新进入游戏
        // 可能非UI线程, 如果需要操作UI,请在UI线程中操作
    }

    @Override
    public void onLoginSuccess(UGUser user) {
        //登录成功回调, 可能非UI线程, 如果需要操作UI,请在UI线程中操作
        Log.d("UGSDKDemo", "sdk login success."+user.getUid());
    }

    @Override
    public void onLoginFailed(int code, String msg) {
        //登录失败回调, 可能非UI线程, 如果需要操作UI,请在UI线程中操作
        MainActivity.this.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MainActivity.this, "login failed", Toast.LENGTH_LONG).show();
            }
        });

    }

    @Override
    public void onUpgradeSuccess(UGUser user) {
        // 游客账号升级成功回调
        // 可能非UI线程, 如果需要操作UI,请在UI线程中操作
        Log.d("UGSDKDemo", "sdk account upgrade success."+user.getUid()+"; accountType:"+user.getAccountType());
    }

    @Override
    public void onProductsResult(int code, List<UGProduct> products) {
        // 获取商品信息回调
        Log.d(Constants.TAG, "onProductsResult. code:"+code);
        if (products != null) {
            Log.d(Constants.TAG, "curr products::");
            for (UGProduct product : products) {
                Log.d(Constants.TAG, "local product id:" + product.getLocalProductID() +";platform product id:" + product.getPlatformProductID() + ";local price:" + product.getPrice()/100f + ";locale price:" + product.getLocalePrice()+";locale currency:" + product.getLocaleCurrency());
            }
        }
    }

    @Override
    public void onPaySuccess(UGOrder order) {
        // 支付成功回调, 可能非UI线程, 如果需要操作UI,请在UI线程中操作
        MainActivity.this.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MainActivity.this, "pay success", Toast.LENGTH_LONG).show();
            }
        });
    }

    @Override
    public void onPayFailed(int code, String msg) {
        // 支付失败回调, 可能非UI线程, 如果需要操作UI,请在UI线程中操作
        MainActivity.this.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MainActivity.this, "pay failed", Toast.LENGTH_LONG).show();
            }
        });
    }

    @Override
    public void onExitSuccess() {
        // SDK退出游戏回调

    }
};

上面监听事件通知中,可能是非UI线程中, 如果需要操作UI界面,需要在UI线程中操作:

java
activity.runOnUiThread(new Runnable() {
    @Override
    public void run() {
        //TODO::在这里操作UI相关逻辑
    }
});

调用初始化接口

注意

如果游戏有多个Activity, 一定要在游戏主Activity(也就是引擎Activity)的onCreate中调用初始化接口, 而非Launcher Activity。

java

String appID = "1";
String appKey = "11111111111111111";
UGInitParams sdkParams = new UGInitParams(appID, appKey, UGInitParams.ORIENTATION_LANDSCAPE);
UGPlatform.getInstance().init(activity, sdkParams, sdkListener);

初始化参数说明:

参数名称参数类型参数说明
appIDString当前游戏的appID参数,如果还没有该参数,请参考:获取参数
appKeyString当前游戏的appKey参数,如果还没有该参数,请参考:获取参数
orientationString游戏横竖屏,UGInitParams.ORIENTATION_PORTRAIT:竖屏; UGInitParams.ORIENTATION_LANDSCAPE:横屏

注意:为了方便游戏层修改SDK参数, 上面初始化接口中,如果UGInitParams对象传null, 则读取assets/ug_dev.properties中配置的ug.appid等参数

props
# SDK appID
ug.appid=1

# SDK appKey
ug.appkey=11111111111111111

# 游戏横竖屏 1:竖屏:2:横屏
ug.orientation=1

# SDK Server URL
ug.server.url=http://ugapi.bytesdk.com

配置项说明:

参数名称参数类型参数说明
ug.appidString当前游戏的appID参数,如果还没有该参数,请参考:获取参数
ug.appkeyString当前游戏的appKey参数,如果还没有该参数,请参考:获取参数
ug.orientationString游戏横竖屏,1:竖屏; 2:横屏
ug.server.urlStringSDK服务端URL地址

初始化回调

当SDK初始化成功或失败时,会通过UGSDKListener中下面对应的函数通知给游戏层:

java
@Override
public void onInitSuccess() {
    // SDK初始化成功回调
}

@Override
public void onInitFailed(int code, String msg) {
    // SDK初始化失败回调
}

版权所有© 2021-2030 上海丞诺网络科技有限公司