public void addChannel(UChannel channel) { if (channels.containsKey(channel.getChannelID())) { Log.e("The channelID is already is exists. add channel faild." + channel.getChannelID()); return; } channels.put(channel.getChannelID(), channel); }
// 添加或者修改渠道 public void saveChannel(UChannel channel) { if (channels.containsKey(channel.getChannelID())) { channels.remove(channel.getChannelID()); } Log.d("the channel is " + channel); UChannel c = getChannelByID(channel.getId()); if (c != null) { channels.remove(c.getChannelID()); } channels.put(channel.getChannelID(), channel); }
public void loadChannelData(List<UChannel> channelLst) { channels = new HashMap<Integer, UChannel>(); for (UChannel channel : channelLst) { channels.put(channel.getChannelID(), channel); } Log.i("Load channels:" + channels.size()); }
@Action("getToken") public void getLoginToken() { Log.d("getToken..."); try { final UGame game = gameManager.queryGame(this.appID); if (game == null) { renderState(StateCode.CODE_GAME_NONE, null); return; } final UChannel channel = channelManager.queryChannel(this.channelID); if (channel == null) { renderState(StateCode.CODE_CHANNEL_NONE, null); return; } if (channel.getAppID() != this.appID) { renderState(StateCode.CODE_CHANNEL_NOT_MATCH, null); return; } UChannelMaster master = channel.getMaster(); if (master == null) { renderState(StateCode.CODE_CHANNEL_NONE, null); return; } StringBuilder sb = new StringBuilder(); sb.append("appID=") .append(this.appID) .append("channelID=") .append(this.channelID) .append("extension=") .append(this.extension) .append(game.getAppkey()); if (!userManager.isSignOK(sb.toString(), sign)) { Log.e("the sign is invalid. sign:" + sign); renderState(StateCode.CODE_SIGN_ERROR, null); return; } ISDKScript verifier = SDKCacheManager.getInstance().getSDKScript(channel); if (verifier == null) { Log.e("the ISDKScript is not found . channelID:" + channelID); renderState(StateCode.CODE_VERIFY_FAILED, null); return; } Log.d("The auth url is " + channel.getChannelAuthUrl()); Log.d("channel is " + channel.getChannelID() + ";extension is " + extension); verifier.verify( channel, extension, new ISDKVerifyListener() { @Override public void onSuccess(SDKVerifyResult sdkResult) { try { Log.d("user verify success. result:" + sdkResult.getUserID()); if (sdkResult.isSuccess() && !StringUtils.isEmpty(sdkResult.getUserID())) { UUser user = userManager.getUserByCpID( channel.getAppID(), channel.getChannelID(), sdkResult.getUserID()); if (user == null) { user = userManager.generateUser(channel, sdkResult); } else { user.setChannelUserName( sdkResult.getUserName() == null ? "" : sdkResult.getUserName()); user.setChannelUserNick( sdkResult.getNickName() == null ? "" : sdkResult.getNickName()); user.setLastLoginTime(new Date().getTime() + ""); } user.setToken(UGenerator.generateToken(user, game.getAppSecret())); userManager.saveUser(user); JSONObject data = new JSONObject(); data.put("userID", user.getId()); data.put("sdkUserID", user.getChannelUserID()); data.put("username", user.getName()); data.put("sdkUserName", user.getChannelUserName()); data.put("token", user.getToken()); data.put("extension", sdkResult.getExtension()); data.put("timestamp", user.getLastLoginTime()); renderState(StateCode.CODE_SUCCESS, data); } else { renderState(StateCode.CODE_AUTH_FAILED, null); } } catch (Exception e) { renderState(StateCode.CODE_AUTH_FAILED, null); e.printStackTrace(); } } @Override public void onFailed(String errorMsg) { Log.e("The user verify failed. errorMsg:" + errorMsg); renderState(StateCode.CODE_AUTH_FAILED, null); } }); } catch (Exception e) { Log.e(e.getMessage()); renderState(StateCode.CODE_AUTH_FAILED, null); } }