Beispiel #1
1
  // TODO GAME 在onNewIntent中需要调用handleCallback将平台带来的数据交给MSDK处理
  @Override
  protected void onNewIntent(Intent intent) {
    Logger.d("onNewIntent");
    super.onNewIntent(intent);

    // TODO GAME 处理游戏被拉起的情况
    // launchActivity的onCreat()和onNewIntent()中必须调用
    // WGPlatform.handleCallback()。否则会造成微信登录无回调
    if (WGPlatform.wakeUpFromHall(intent)) {
      Logger.d("LoginPlatform is Hall");
      Logger.d(intent);
    } else {
      Logger.d("LoginPlatform is not Hall");
      Logger.d(intent);
      WGPlatform.handleCallback(intent);
    }
  }
Beispiel #2
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // TODO GAME 游戏需自行检测自身是否重复, 检测到吃重复的Activity则要把自己finish掉
    // 注意:游戏需要加上去重判断finish重复的实例,否则可能发生重复拉起游戏的问题。游戏可自行决定重复的判定。
    if (WGPlatform.IsDifferentActivity(this)) {
      Logger.d("Warning!Reduplicate game activity was detected.Activity will finish immediately.");
      this.finish();
      return;
    }

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main_layout);

    // TODO GAME 初始化MSDK
    /**
     * ********************************************************* TODO GAME 接入必须要看,
     * baseInfo值因游戏而异,填写请注意以下说明: baseInfo值游戏填写错误将导致 QQ、微信的分享,登录失败 ,切记 !!!
     * 只接单一平台的游戏请勿随意填写其余平台的信息,否则会导致公告获取失败 offerId 为必填,一般为手QAppId
     * *********************************************************
     */
    MsdkBaseInfo baseInfo = new MsdkBaseInfo();
    baseInfo.qqAppId = "100703379";
    baseInfo.qqAppKey = "4578e54fb3a1bd18e0681bc1c734514e";
    baseInfo.wxAppId = "wxcde873f99466f74a";
    baseInfo.msdkKey = "5d1467a4d2866771c3b289965db335f4";
    baseInfo.offerId = "100703379";
    // TODO GAME 自2.7.1a开始游戏可在初始化msdk时动态设置版本号,灯塔和bugly的版本号由msdk统一设置
    // 1、版本号组成 = versionName + versionCode
    // 2、游戏如果不赋值给appVersionName(或者填为"")和appVersionCode(或者填为-1),
    // msdk默认读取AndroidManifest.xml中android:versionCode="51"及android:versionName="2.7.1"
    // 3、游戏如果在此传入了appVersionName(非空)和appVersionCode(正整数)如下,则灯塔和bugly上获取的版本号为2.7.1.271
    baseInfo.appVersionName = "2.8.2";
    baseInfo.appVersionCode = 282;

    // 注意:传入Initialized的activity即this,在游戏运行期间不能被销毁,否则会产生Crash
    WGPlatform.Initialized(this, baseInfo);
    // 设置拉起QQ时候需要用户授权的项
    WGPlatform.WGSetPermission(WGQZonePermissions.eOPEN_ALL);

    // 设置java层或c++层回调,如果两层都设置了则会只回调到java层
    if (LANG.equals("java")) {
      // 全局回调类,游戏自行实现
      WGPlatform.WGSetObserver(new MsdkCallback(this));
    } else {
      // cpp层 回调设置
      PlatformTest.setObserver(true);
      PlatformTest.WGLogPlatformSDKVersion();
      PlatformTest.SetActivity(this);
    }

    // MSDKDemo 界面实现
    initView();

    // TODO GAME 处理游戏被拉起的情况
    // launchActivity的onCreat()和onNewIntent()中必须调用
    // WGPlatform.handleCallback()。否则会造成微信登录无回调
    if (WGPlatform.wakeUpFromHall(this.getIntent())) {
      // 拉起平台为大厅
      Logger.d("LoginPlatform is Hall");
      Logger.d(this.getIntent());
    } else {
      // 拉起平台不是大厅
      Logger.d("LoginPlatform is not Hall");
      Logger.d(this.getIntent());
      WGPlatform.handleCallback(this.getIntent());
    }
    isFirstLogin = true;
  }