微信小游戏/抖音小游戏SDK接入踩坑记录

前言

上两篇文章写了如何搭建一个小游戏聚合SDK以及如何打包前端SDK,这篇文章会记录我在接入微小和抖小时遇到的问题及解决办法。

问题记录

1、用是否存在 wx 这个 API 来判断是微小平台还是抖小平台不生效

官方没有提供判断是微小环境和抖小环境的API,在聚合SDK里需要想办法判断当前环境然后调用对应环境的API,比如在微小环境下不能调用到抖音的登录。微小的API都是 wx 调用,抖音的API 都是 tt 调用,当使用这个区别来区分环境时发现并不生效,原因是抖小也引入了wx api 。需要查找其他办法。

**方法一:**可以根据小游戏 appId 来判断,微小 appIdwx 开头的,比如 wx05be1ceba191eb56 ,抖小的 appIdtt 开头的,比如:tt98abci12lhhiopw52

**方法二:**在官方 API 文档中查到各自特有方法判断,比如抖小的 API tt.getLaunchOptionsSync 微小就没有。另 tt.getLaunchOptionsSync 这个 api 可以获取抖小的小游戏 appIdwx.getAccountInfoSync 就是微小特有的 API。

// 平台检测
export function getPlatformType() {
  if (typeof wx.getAccountInfoSync !== 'undefined' && typeof wx.getSystemSetting === 'function') {
    return WeChatMiniSDK
  } else if (typeof tt.getLaunchOptionsSync !== 'undefined' && typeof tt.canIUse === 'function') {
    return DouyinMiniSDK
  } 
}

2、微小支付的参数如何获取?

根据微小支付文档API https://developers.weixin.qq.com/minigame/dev/api/midas-payment/wx.requestMidasPaymentGameItem.html 在前端调用微小支付接口时需要传递 paySigsignature ,但是这两个参数的参数签名都不是前端生成的,需要服务端生成。也就是在用户创建微小订单时需要先向开发者服务端获取签名信息,至于如何简化流程可以和开发者服务端商量。

3、iOS 平台不支持虚拟支付怎么办?

根据微小/抖小后台虚拟支付的开通里提示,虚拟支付是不支持 iOS 端的。经过调研现有小游戏,iOS 端的支付都是开发者另辟蹊径实现的。微小/抖小的流程也并不一致,下面分开说。

微小 iOS 端支付时序图:

在这里插入图片描述

  1. 用户发起支付
  2. CP创建订单,向中台前端SDK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值