渠道支付要做开关干嘛用呢?为什么要做这种东西呢?

这个教训来分享一下,我们的游戏上线公测了,59个渠道首发,其中包括了应用宝,UC,360等的大渠道,也包含有一些工会渠道和小渠道,上线后一切正常,但是到了下午就开始出现问题了,大渠道联系了我们的渠道商务说我们在做充值返利要立刻停止这种行为,限我们3小时内处理,要不然就下架我们的游戏。公司沟通了一圈后,一头雾水,因为运营和市场并没有做这种返利活动。后来询问大渠道后获得了一些相关的信息和截图,发现小渠道和一些二三级分包渠道在做4-6折不等的充值返利,我们下载了相关的apk发现多次打包和分销渠道号等。然后就是联系这些渠道关闭返利,给大渠道解释,多要一些时间等等,处理到了第二天,为什么会这么久呢?因为渠道商务人员要一家一家联系,联系对方后对方还要在去联系那些二三级分包渠道或者是合作渠道,这么一级一级的关系处理的很慢,随着时间过去渠道那里也下班了,最终导致游戏被大渠道下架了,而这些做返利的渠道也没量了。说到这里大家明白了这个需求的原因,那么总结一下是这样

1、  上线渠道多,有些渠道为了业绩会做充值返利

2、  大渠道的控制力很强,他们的多级渠道能力也很强,他们会比我们先发现这类问题

3、  即使和渠道说了不要做充值返利,但是他们的沟通可能会出现误差,不能保证一定不会出现

4、  这类事处理起来费事费力牵扯众多,短时间如果处理不好还有被大渠道下架的危险,这就得不偿失了

吃一堑长一智,为了解决这种混乱的情况,想出了这个渠道支付开关的功能,实现思路为在用户进行支付的时候从CDN的HTTP上下载一个配置文件,根据配置文件判断这个渠道是否能顺利支付

以下是接入游戏渠道的支付代码的实现代码

public String CallPayItem(final String _in_data)
{
TypeSDKLogger.i("CallPayItem:" + _in_data);
new Thread() {
@Override
public void run() {
String payMessage;
try {
payMessage = HttpUtil.http_get(TypeSDKBonjour_vivo
.Instance().platform
.GetData(AttName.SWITCHCONFIG_URL));
if (((payMessage.equals("") || payMessage.isEmpty()) && openPay)
|| TypeSDKTool.openPay(TypeSDKBonjour_vivo
.Instance().platform
.GetData(AttName.SDK_NAME), payMessage)) {
Handler mHandler = new Handler(Looper.getMainLooper());
mHandler.post(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
TypeSDKBonjour_vivo.Instance().PayItem(_in_context, _in_data);
}
});
} else {
TypeSDKNotify_vivo notify = new TypeSDKNotify_vivo();
TypeSDKData.PayInfoData payResult = new TypeSDKData.PayInfoData();
payResult.SetData(AttName.PAY_RESULT, "0");
notify.Pay(payResult.DataToString());
Handler dialogHandler = new Handler(Looper.getMainLooper());
dialogHandler.post(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
TypeSDKTool.showDialog("暂未开放充值!!!", _in_context);
}});
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }.start();
return "client pay function finished";
}

这个项目已开源,大家有兴趣可以自己研究或者参照项目编写自己的聚合SDK

项目地址:https://code.csdn.net/typesdk_code

项目地址:https://github.com/typesdk

TYPESDK手游聚合SDK客户端远程开关:渠道支付黑名单的更多相关文章

  1. TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析

    TYPESDK 服务端设计思路与架构之一:应用场景分析 作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各 ...

  2. TYPESDK手游聚合SDK服务端设计思路与架构之四:流程优化之信息安全与订单校验

    有了前文几个步骤的分析和设计,TYPESDK的信息交互流程已经可以正常工作了,但是,这个流程还没有考虑到支付这样的过程中,至关重要的信息安全问题. 在整个交互过程中,游戏服务端,SDK服务端,渠道服务 ...

  3. TYPESDK手游聚合SDK服务端设计思路与架构之三:流程优化之订单保存与通知

    经过前两篇文字的分析与设计,我们已经可以搭建出一个能够支持多游戏多渠道的聚合SDK服务端,但这只是理想化状态下的一个简化模型.如果接入渠道的逻辑都是按照理想化的简化过程来构建,那么对于支付的请求,我们 ...

  4. TYPESDK手游聚合SDK服务端设计思路与架构之二:服务端设计

    在前一篇文中,我们对一个聚合SDK服务端所需要实现的功能作了简单的分析.通过两个主要场景的功能流程图,我们可以看到,作为多款游戏要适配多个渠道的统一请求转发中心,TYPESDK服务端主要需要实现的功能 ...

  5. 手游聚合SDK开发之远程开关---渠道登入白名单

    白名单有啥好说的呢?无非就是筛选登入,大家第一眼看到就是这个印象,白名单也是有文章的,弄的时机不同会给你带来很不错的收益,注意是收益.还是举例来说,游戏上线前渠道都会做一个预下载,一般提前1-2天,这 ...

  6. 手游开发者大会交流OGEngine新版本发布

    由OGEngine第二个手游开发者交流会举办的圆桌会议在深圳市高新技术园区举行.发布会不仅吸引了手游开发商,供应商也纷纷在国外支付,在国内手游和国外出版商参加. 围绕三个主题会议讨论和交流.每个主题: ...

  7. unity手游之聊天SDK集成与使用一

    手游中都有聊天功能,比如公会,私聊,世界聊天,那么找一个好用,功能强大的SDK的可以节省很多精力,帮助我们提高开发速度与游戏质量. 写本篇博文是为了方便使用这个SDK做聊天模块的程序,避免许多坑,我在 ...

  8. 手游服务器端接入facebook的SDK

    手游如果支持facebook登录,就要接入facebook的登录SDK.刚好工作中自己做了这一块的接入功能现在记录分享下来提供一个参考. 当前只是接入了登录这个功能,先简单的说说接入facebook登 ...

  9. 手游录屏直播技术详解 | 直播 SDK 性能优化实践

    在上期<直播推流端弱网优化策略 >中,我们介绍了直播推流端是如何优化的.本期,将介绍手游直播中录屏的实现方式. 直播经过一年左右的快速发展,衍生出越来越丰富的业务形式,也覆盖越来越广的应用 ...

随机推荐

  1. autocomplete的使用

    autocomplete使用分为本地调用方法和读取远程读取数据源的方法 (1)本地调用方法 <script src="Scripts/jquery-1.4.1.min.js" ...

  2. JavaScript基础

    JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...

  3. 【SAP业务模式】之ICS(四):组织单元的配置

    SAP的ICS业务后台配置主要有以下几个配置点: 1.组织单元的配置(公司代码.销售组织.工厂.采购组织等): 2.主数据的部分: 3.订单和开票的定价过程: 4.开票输出类型: 5.公司间发票的配置 ...

  4. 信息安全-1:python之playfair密码算法详解[原创]

    转发注明出处: http://www.cnblogs.com/0zcl/p/6105825.html 一.基本概念 古典密码是基于字符替换的密码.加密技术有:Caesar(恺撒)密码.Vigenere ...

  5. git &github 快速入门

    本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...

  6. Linux环境下常见漏洞利用技术(培训ppt+实例+exp)

    记得以前在drops写过一篇文章叫 linux常见漏洞利用技术实践 ,现在还可以找得到(https://woo.49.gs/static/drops/binary-6521.html), 不过当时开始 ...

  7. Java中的进程和线程

     Java中的进程与线程 一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是 ...

  8. 【腾讯优测干货分享】如何降低App的待机内存(三)——探索内存增长的原因

    本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/8BiKIt3frq9Yv9KV5FXlGw 1.3新问题的进一步挖 ...

  9. Windows平台分布式架构实践 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  10. Lesson 23 A new house

    Text I had a letter from my sister yesterday. She lives in Nigeria. In her letter, she said that she ...