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
 // 平台授权成功,让用户进入游戏. 由游戏自己实现登录的逻辑
 public void letUserLogin() {
   LoginRet ret = new LoginRet();
   WGPlatform.WGGetLoginRecord(ret);
   Logger.d("flag: " + ret.flag);
   Logger.d("platform: " + ret.platform);
   if (ret.flag != CallbackFlag.eFlag_Succ) {
     Toast.makeText(MainActivity.this, "UserLogin error!!!", Toast.LENGTH_LONG).show();
     Logger.d("UserLogin error!!!");
     letUserLogout();
     return;
   }
   if (ret.platform == WeGame.QQPLATID) {
     for (int i = 0; i < nameList.size(); i++) {
       if ("QQ登录".equals(nameList.get(i).name)) {
         seletedModule = nameList.get(i);
         startModule();
         break;
       }
     }
   } else if (ret.platform == WeGame.WXPLATID) {
     for (int i = 0; i < nameList.size(); i++) {
       if ("微信登录".equals(nameList.get(i).name)) {
         seletedModule = nameList.get(i);
         startModule();
         break;
       }
     }
   }
 }
Beispiel #3
0
 public void startWaiting() {
   Logger.d("startWaiting");
   mAutoLoginWaitingDlg = new ProgressDialog(this);
   stopWaiting();
   mAutoLoginWaitingDlg.setTitle("自动登录中...");
   mAutoLoginWaitingDlg.show();
 }
Beispiel #4
0
  // TODO GAME 游戏需要集成此方法并调用WGPlatform.onDestory()
  @Override
  protected void onDestroy() {
    super.onDestroy();
    WGPlatform.onDestory(this);
    Logger.d("onDestroy");

    if (lbm != null) {
      lbm.unregisterReceiver(mReceiver);
    }
  }
Beispiel #5
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;
  }
Beispiel #6
0
 public void stopWaiting() {
   Logger.d("stopWaiting");
   if (mAutoLoginWaitingDlg != null && mAutoLoginWaitingDlg.isShowing()) {
     mAutoLoginWaitingDlg.dismiss();
   }
 }
Beispiel #7
0
 // TODO GAME 在onActivityResult中需要调用WGPlatform.onActivityResult
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   WGPlatform.onActivityResult(requestCode, resultCode, data);
   Logger.d("onActivityResult");
 }