YSDK 系列问题之如何获取渠道号ChannelID

简介: 转载请标明出处: http://blog.csdn.net/DJY1992/article/details/77649400 本文出自:【奥特曼超人的博客】不懂的可以点击加入 安卓移动技术精英群:最近有个游戏不兼容YSDK1.2.2 ,而且由于业务需求也需要升级新的YSDK了,在新的版本上也需要channel的需求(投放市场:广点通、微信平台等等…),刚好‘腾讯青青’发了1.3.5版本过来, 那就顺便记录下大家可能需要的解决方案,因为投放市场的包也需要这个channelID,同时投放文档也没有说明,当时很郁闷。

转载请标明出处:
http://blog.csdn.net/DJY1992/article/details/77649400
本文出自:【奥特曼超人的博客】

不懂的可以点击加入 安卓移动技术精英群安卓移动技术精英

最近有个游戏不兼容YSDK1.2.2 ,而且由于业务需求也需要升级新的YSDK了,在新的版本上也需要channel的需求(投放市场:广点通、微信平台等等…),刚好‘腾讯青青’发了1.3.5版本过来, 那就顺便记录下大家可能需要的解决方案,因为投放市场的包也需要这个channelID,同时投放文档也没有说明,当时很郁闷。

YSDK的WIKIhttp://wiki.open.qq.com/wiki/YSDK%E5%BF%AB%E9%80%9F%E6%8E%A5%E5%85%A5



目前YSDK的版本:
YSDK杜锦阳

下载地址http://wiki.open.qq.com/wiki/YSDK%E4%B8%8B%E8%BD%BD

大部分都在使用中的版本是1.3.2,顺带一提,MSDK已经完全废弃。接过腾讯SDK的同学应该终生难忘,一大堆坑,经常遇到的如缓存问题、一次性登录问题、支付问题等等…

接了几年SDK,踩坑,踩雷,楼主估计已经可以去帮你们解决ALL-IN的问题了。

这里只是简单的记录下YSDK的系列问题,本篇只要是讲市场投放时的channelID如何加入,《YSDK 系列问题之如何获取渠道号ChannelID》,因为wiki上没有说明,大家可以看这里的解决方案。

新版的SDK里是使用了YSDKApi这个类,如下图所示,直接 getChannelID是获取的,怎么也找不到set的方法。
奥特曼超人杜锦阳

从这个类进入查看源码中翻看它可以发现:

    public static String getChannelId() {
        try {
            Class var0 = Class.forName("com.tencent.ysdk.api.YSDKInnerApi");
            Method var1 = var0.getMethod("getChannelId", new Class[0]);
            return (String)var1.invoke((Object)null, new Object[0]);
        } catch (Exception var2) {
            var2.printStackTrace();
            return "";
        }
    }

它是调用了 YSDKInnerApi 这个类,一层一层往下找,我们找到了package com.tencent.ysdk.framework; 这里的a类,混淆过,值得注意的是,它有个私有的构造,

    private a() {
        this.f = com.tencent.ysdk.framework.common.a.a;
        Class var10000 = Fix.class;
    }

不影响,我们要的是a字段和var1,这个就是我们要的渠道号,继续往下走。

 private String e() {
        String var1 = "CHANNEL";
        String var2 = "channel.ini";
        com.tencent.ysdk.framework.verification.a.e();
        InputStream var3 = null;
        String var4 = "";

        try {
            var3 = f.a().f().getResources().getAssets().open(var2);
            Properties var5 = new Properties();
            var5.load(var3);
            var4 = var5.getProperty(var1, "");
        } catch (IOException var14) {
            var14.printStackTrace();
            c.c("YSDKGame", "CHANNEL ID ERROR");
            var4 = "";
        } finally {
            if(var3 != null) {
                try {
                    var3.close();
                } catch (Exception var13) {
                    var13.printStackTrace();
                }
            }

        }

        return var4;
    }

可以看出,这里读取的是配置文件channel.ini文件中 ,Demo中是没有这个文件的,我们直接放进去看看效果,我们配置的放在第一行CHANNEL=101即可。

奥特曼超人杜锦阳

结果显示出来了,result=101。

|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

相关文章
|
22天前
【微信公众平台对接】有关【创建发票卡券模板】调用示例
【微信公众平台对接】有关【创建发票卡券模板】调用示例
9 0
|
1月前
|
监控 安全 数据挖掘
1688跨境新纪源:探索1688详情API接口的无限商机
1688详情API接口是一种基于开放平台的应用程序接口,它能够实现与1688平台的数据交互,让商家能够更加方便地获取商品详情、库存信息、价格变动等重要数据。通过这一接口,商家可以实时掌握市场动态,快速响应消费者需求,从而提升经营效率和市场竞争力。
|
7月前
|
Web App开发 移动开发 前端开发
前端企业微信服务商第三方应用开发详情流程
前端企业微信服务商第三方应用开发详情流程
295 0
|
7月前
|
JSON API 开发者
淘宝详情API接口在各种应用中的作用性
随着互联网的快速发展和电子商务的广泛应用,淘宝作为中国最大的C2C电商平台,其提供的API接口在各种应用中发挥着越来越重要的作用。本文将详细介绍淘宝详情API接口的背景、定义、类型,以及在各种应用场景中的作用和优势,以期为相关领域的开发者提供有价值的参考。
|
1月前
|
API 开发者
1688阿里巴巴中国站平台 API接口获取商品详情 接入文档说明
1688(阿里巴巴批发网)的API接入文档是专为开发者提供的,用于指导如何集成和使用1688平台提供的API接口。这些API接口可以帮助开发者实现各种功能,如商品搜索、订单管理、用户认证等。
|
1月前
|
API 开发工具 数据安全/隐私保护
API接口的对接流程和注意事项(淘宝商品详情店铺)
随着互联网技术的发展和应用的普及,API接口已经成为不同系统、不同应用之间进行交互和数据交换的重要方式。API接口使得不同的系统能够互相调用对方的功能,提高了系统的灵活性和扩展性。但是,在进行API接口对接的过程中,需要注意一些流程和事项,以确保对接的顺利进行和系统的稳定运行。
|
2月前
|
小程序 IDE 物联网
社区每周丨小程序商品及JSAPI支付全面开放(7.10-7.14)
社区每周丨小程序商品及JSAPI支付全面开放(7.10-7.14)
24 0
|
2月前
|
监控 小程序 安全
社区每周丨支付有礼支持引导用户收藏小程序及人脸认证接口更新(8.7-8.11)
社区每周丨支付有礼支持引导用户收藏小程序及人脸认证接口更新(8.7-8.11)
130 0
|
2月前
|
小程序 物联网 API
社区每周丨支付券全面开放及新增消息运营计划接口(5.22-5.26)
社区每周丨支付券全面开放及新增消息运营计划接口(5.22-5.26)
35 0
|
2月前
|
人工智能 小程序 大数据
【社区每周】交易组件新增API接口及产品面对面即将开播(5.29-6.2)
【社区每周】交易组件新增API接口及产品面对面即将开播(5.29-6.2)
124 0