Android渠道SDK接入常见问题

应用宝

1、 demo可以而游戏微信登陆收不到回调

这是由于速接sdk的onNewIntent没有被调用。解决办法是在ysdk的额外配置脚本中,删除游戏的FirstActivity并将mainActivity改为启动activity且的lanchmode改为singolTop。

2、1.4.2版本SDK微信扫码登录后,游戏重启

这是因为SDK的 QRActivity与游戏的MainActivity在同一个task,配置下QRActivity的launchMode和taskAffinity两项,

<activity android:name="com.tencent.ysdk.module.user.impl.wx.qrcode.QRActivity" android:launchMode="singleTask" <!-- taskAffinity 需要是packageName + '.QRActivity' -->
    android:taskAffinity="newtaskaffinity">
</activity>

人人影视SDK接入说明

人人影视SDK Eclipse接入有一个依赖项,特做一下接入说明:

  1. 将依赖项目中 assets、res、libs下所有的资源拷贝到插件项目

  2. 在游戏的config.xml中增加extraR配置,如下<param name="extraR" value="com.game.sdk"/>

  3. 手动删除 res/values和res/values-land 文件夹中dimens.xml、attrs.xml文件中的中文注释,否则使用 extraR生成R文件是,会因为中文乱码报错

中手游-静思SDK接入说明

中手游静思SDK由两个依赖项目,接入步骤如下:

  1. 将两个依赖项目下的libs和res文件夹中的内容拷贝至接入项目的对应文件夹中
  2. 在游戏项目的config.xml中的中手游渠道添加以下内容
<param name="extraR" value="android.support.v7.recyclerview,com.cmge.sdk,com.wangyin.wepay"/>

第二步是因为中手游SDK在项目中引用了R文件,所以需要配置参数,生成对应的R类

华为 2.6.x版本SDK接入说明

  1. 华为SDK接入注意事项
    1. 务必在onCreate方法中调用华为SDK的 checkUpdate()方法,否则可能审覈不通过
    2. 华为SDK onChange()监听方法必须正确处理,否则可能因为华为小号问题审覈不通过
    3. 当onConnect方法收到用户取消安装华为移动服务apk或失败消息是,必须再次调用connect方法(20180620增
    4. 当登录接口收到用户拒绝用户协议时,须弹出提示框,提示用户必须统一用户协议,当用户点击确认后,再次调用SDK登录接口,当用户取消时,关闭APP(20180620增
    5. 华为SDK需要提供给商务SHA256的证书指纹,让他配置到华为后台,否则登陆会返回907135702错误
    6. 华为有两套公钥私钥,一套游戏,一套支付。支付私钥错误会导致拉不起钱包
  2. 华为SDK集成方式
      华为SDK提供多种接入方式,我们使用HMSAgent + 华为SDK通用包组合的方式接入。

  下载页链接 华为SDK
  下载内容:1、HMS SDK Agent 2、HMS SDK(第三种场景,无法使用maven服的接入方式)

通用SDK集成查看集成文档 华为通用包集成
HMSAgent集成查看集成文档 HMSAgent集成

HMSAgent集成补充说明:

  1. 执行GetHMSAgent.bat脚本,选择任意已有华为参数的游戏参数即可,是否为游戏选择是,Push和社交选择否
  2. 不执行文档中说的第3部,即不拷贝源码,执行完前两步后,执行HMSAgent中Buildcopysrc2jar.bat批处理文件,将copysrc文件夹下生成的HMSAgent_XX.XX.jar文件拷贝到项目的libs目录下,并按照copysrc目录下的AndroidManifest.xml文件配置SDK插件的AndroidManifest
  3. 如果执行Buildcopysrc2jar.bat后报错,提示无法下载依赖的aar文件,可以注释或删除脚本中的这些内容,然后手动在Buildcopystr2jar.bat同级目录下创建libs文件夹,将hmssdk的jar包拷贝到libs文件夹下,在此执行Buildcopystr2jar.bat,需要注释的内容
需要注释或删除的内容
@rem 创建临时文件夹 | Create a temporary folder
mkdir "%CURPATH%bin"
mkdir "%CURPATH%libs"
mkdir "%CURPATH%aars"

魅族

  1. 魅族无法登录或报签名文件错误问题
    魅族渠道自测时,需要开启联调模式,否则无法测试登录和支付

小米

  1. 小米文档问题
    小米最新文档不是手机网络游戏SDK集成指南,而是应用内支付接入指南
  2. 小米支付提示支付失败code = -18003
    小米sdk分为金额计费与按计费代码计费,我们采用的是金额计费金额计费,如果商务后台配置时配置成按计费代码计费或者参数不正确,就会出现这个问题。

UC

  1. 九游支付界面报错误码
    参看新版阿里SDK接入FAQ,旧版FAQ找不到

百度

  1. 百度支付失败,log为:baidu sdk pay failed.无效的支付订单编号
    这是由于我们的订单号后面加了”#”以及版本信息,签名后验证失败,所以此时应该单独处理,去掉#号
  2. 百度登录失败,提示版本不对
    这是由于百度版本参数没有更新,更新位置在sdk/config.xml中

爱奇艺

  1. 安卓8.0报错android.content.res.Resources$NotFoundException: Resource ID #0x65030070
    这是由于我们的极光推送和爱奇艺sdk都使用了同样的插件化,导致SDK插件框架冲突。解决办法是由爱奇艺方提供新的iFlexCore.aar,并将其中的class.jar替换com.iqiyi.iflex.jar即可解决冲突

360

  1. 支付时提示“不允许该游戏进行支付”
    这是由于360sdk的参数中privatekey不正确,需要改为md5计算md5(appsecret#appkey)的值!

酷派

  1. 支付时提示“去收银台支付”然后没有任何返回值(log里提示窗体泄露)
    这是由于某个参数传错,而他们sdk并不会对此做判断处理,需要我们手动排查参数!大概率为游戏channels\coolpad\assets\coolpad_pay.xml没有配置商品id导致。

三星

  1. 在8.0手机上登陆后崩溃(log里提示窗体泄露)
    这是由于三星需要我们手动在代码中申请悬浮窗权限导致的。

wande6tt

  1. 大数据统计数据不准确
    这是由于sj_cps_channel这个参数没有配置导致的。大数据统计到了热血之刃上
点赞