华为、小米、vivo联运游戏接入总结

华为

被华为坑得最多,都是血与泪。

登录支付的签名:

官方文档是这样写的

我按照文档的方式生成的签名一直报签名错误,各种方法都试了,最后尝试没有urlencode,结果验签通过了,文档坑人啊~

    /**
     * 华为签名
     */
    public function huaweiSign($params, $secret)
    {

        $sign_str = "";
        ksort($params);
        foreach ($params as $key => $value) {
            $value = urlencode($value);
            $sign_str = $sign_str . $key . "=" . $value . "&";
        }
        $sign_str = substr($sign_str, 0, -1);

        $res = "-----BEGIN RSA PRIVATE KEY-----\n" .
            wordwrap($secret, 64, "\n", true) .
            "\n-----END RSA PRIVATE KEY-----";
        $private_key = openssl_pkey_get_private($res);
        openssl_sign($sign_str, $sign, $private_key, OPENSSL_ALGO_SHA256);
        $sign = base64_encode($sign);
        openssl_free_key($private_key);

        return $sign;
    }

下单签名:

华为下单的时候也需要签名,这个地方又是一个坑,一开始按照上面的方法生成的签名还是有错,文档都看几遍,然后发现下单的参数里有一个urlVer参数,文档这样写

因为我一直没转换,所以签名总是不通过,这个地方不能怪文档,只能怪自己没看仔细。

小米:

登录签名,本来参数按字母顺序排序,但我刚好按照那个顺序排,就省略了这步:

        $app_key = $union_config[‘app_secret‘];   //key

        $login_url = ‘http://mis.migc.xiaomi.com/api/biz/service/loginvalidate‘;
        $request_params = [
            ‘appId‘ => $union_config[‘app_id‘],
            ‘session‘ => $open_key,
            ‘uid‘ => $open_id,
        ];
        $sign_str = http_build_query($request_params);
        $request_params[‘signature‘] = hash_hmac(‘sha1‘,$sign_str, $app_key, false);

支付签名,发过来的参数是encode,所以这里要decode:

        //验签
        $app_secret = $union_config[‘app_secret‘];
        $request_signature = $params[‘signature‘]; unset($params[‘signature‘]);
        ksort($params);
        $sign_str = urldecode(http_build_query($params));
        $self_signature = hash_hmac(‘sha1‘,$sign_str, $app_secret, false);
        if ($request_signature != $self_signature){
            $result[‘errcode‘]=‘1525 ‘; $result[‘errMsg‘]=‘签名错误‘; return $result;
        }

vivo的没踩什么坑,签名方法也比较简单。

原文地址:https://www.cnblogs.com/zengsihua/p/9733034.html

时间: 2024-11-13 06:53:26

华为、小米、vivo联运游戏接入总结的相关文章

air游戏接入小米支付sdk

Lucene 4.0版本的DocIdSetIterator中没有cost方法,而4.7.0则有这个方法,表示遍历整个DocIdSet的代价,对于DocsEnum就是其长度了,对于Scorer就可以是符合查询的个数了.ConjunctionScorer可以取其中cost最小的那个scorer,做and操作,而4.0中则是猜测,认为第一个doc最大的那个应该最稀疏,从那个scorer开始做.

教你快速高效接入SDK——游戏接入SDK(只接入抽象框架)

题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360......据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道.每个渠道SDK接入的方法呢,多是大同小异.但是,正是这些小异,又让SDK的接入,产生了无穷无尽的变数.所以,接入SDK之前,如果你没有经验,或者没有被SDK坑过,那么当你看到这系列文章的时候,你很幸运,你可以避免这一切了.如果你之前被坑过,而且还在继续被坑着,那么现在,就是你解脱的时刻. 上一篇文章我们说了整个U8 SDK抽象

巨头纷纷进击人工智能,看华为小米们如何探索未来

在2016年5月底的全国科技创新大会上,华为公司创始人.总裁任正非发表了著名的"华为进入'无人区'"讲话.任正非说,华为"正在本行业逐步攻入无人区,处在无人领航.无既定规则,无人跟随的困境","已感到前途茫茫,找不到方向". 任正非又说:"从科技的角度来看,未来二.三十年人类社会将演变成一个智能社会,其深度和广度我们还想象不到."在2016年8月12日,由中国计算机学会(CCF)主办.雷锋网承办的"全球人工智能与机器

U8SDK——游戏接入SDK(只接入抽象框架)

上一篇文章我们说了整个U8 SDK抽象成的设计,那这篇文章,我们就来验证一下,他是否如我们期待的那样,简单灵活. 正如之前所说,对于每个游戏,只需要接入抽象层,而每个渠道SDK的接入,就是该抽象层的一个实现而已.最后通过一键打包工具来完成最后的产出.那么,我们先来看看,游戏怎么来调用这个抽象层. 我们假设我们已经开发了一款游戏,面临上线,需要接入SDK,需要接入UC,当乐,91,360,小米等渠道.因为采用U8 SDK统一接入框架的思想,游戏工程本身不耦合具体的每个渠道SDK,而只是调用U8 S

高效率完成一次接入80个手游渠道SDK——游戏接入SDK服务端篇

1 概要    通常,游戏开发商并不会只在一个渠道上线他们的游戏,接入越多的渠道,代表着可能获取越多的用户,但同时也代表着越多的接入SDK工作量.工期和费用.一款游戏要有足够的用户,甚至需要接入30家以上的各种渠道,以保障自己的市场覆盖率. 单个SDK接入流程在一位有经验的全职客户端程序.一位全职服务端程序员.一位全职QA处理的情况下,需要3天时间才能完成.因此当一款产品面对30个甚至更多不同需求的渠道SDK时,人员成本和时间成本就会急剧增加.所以我们需要一个通用接口,来处理各种渠道的需求,这就

高效率完成一次接入80个手游渠道SDK——游戏接入SDK客户端篇

一.引言 通常,游戏开发商并不会只在一个渠道上线他们的游戏,接入越多的渠道,代表着可能获取越多的用户,但同时也代表着越多的接入SDK工作量.工期和费用.一款游戏要有足够的用户,甚至需要接入30家以上的各种渠道,以保障自己的市场覆盖率.单个SDK接入流程在一位有经验的全职客户端程序.一位全职服务端程序员.一位全职QA处理的情况下,需要3天时间才能完成.因此当一款产品面对30个甚至更多不同需求的渠道SDK时,人员成本和时间成本就会急剧增加. 所以我们需要一个通用接口,来处理各种渠道的需求,这就是统一

转载:Cocos2D-x 游戏接入 Windows 设备所需做的六件事

原文地址:http://msopentech.com/zh-hans/blog/2014/05/09/cocos2d-x-%E6%B8%B8%E6%88%8F%E6%8E%A5%E5%85%A5-windows-%E8%AE%BE%E5%A4%87%E6%89%80%E9%9C%80%E5%81%9A%E7%9A%84%E5%85%AD%E4%BB%B6%E4%BA%8B/ 发布于 2014-05-09 作者 陈 忠岳 Cocos2D-x 是一款优秀的用于移动设备游戏开发的开源 C++ 跨平台游

为Android游戏接入第三方登录功能

1. “游戏客户端”调用“SDK客户端”的登录功能向“SDK服务端”进行身份认证 2. 验证通过后,“游戏客户端”可得到用户信息,根据游戏逻辑可将用户信息传给“游戏服务器”进行验证 3. “游戏服务器”通过客户端传来的用户信息,一般还需要向“SDK服务器”请求验证用户信息 4. 验证通过后,“游戏服务器”从数据库中查询用户信息,不存在的话直接插入新的用户信息,然后将验证结果和用户信息返回给“游戏客户端” 5. 如果使用了登录会话管理,用户登录后会生成一个新的会话token字符串,把这个token

三星为什么要卖芯片?手机干不过华为小米,半导体好挣钱!

据外媒DigiTimes报道,三星有意向其他手机厂商出售自家的Exynos芯片以扩大市场份额.知情人士透露,三星出售自家芯片旨在提高硅晶圆工厂的利用率,同时提高它们在全球手机处理器市场的份额,尤其是中端市场. 消息一出,有人认为三星这是要抢联发科的市场.这的如此吗?我们一起来聊聊. 一.半导体,三星电子2017利润主要贡献功臣之一 据外媒最新消息显示,三星电子四季度的利润,有望再创纪录,达到150亿美元. 韩国通讯社韩联社旗下的财经服务部门,近日进行了一次证券公司调查,一共统计了19家券商,从而