Skip to content

4399 APK 适配器

4399 APK 适配器通过 jsb.reflection 调用 Android 原生 Java 层 API,提供初始化和登录功能。适用于 4399 平台的 Android 原生包渠道。

类定义

ts
import { M4399Sdk } from "@lingames/clever-sdk/src/platformNative/M4399Sdk.js";

const sdk = new M4399Sdk(platform, project_id, game_id);
  • 依赖环境: jsb(Cocos Creator 原生环境)、cc
  • Java 桥接类: com/lingames/sdk/m4399/M4399Bridge
  • 继承: CleverSdk

初始化

ts
interface m4399Initialize {
    sdk_login_url?: string;
}

await sdk.initialize({
    sdk_login_url: "https://api.salesagent.cc/game-analyzer/player/login"
});

初始化流程:

  1. 检查 jsb 对象是否存在,不存在则返回 false
  2. 通过 jsb.reflection.callStaticMethod 调用 Java 层 M4399Bridge.init() 方法
  3. 传入 game_idsdk_key 参数

参考: 4399 开放平台文档

登录

ts
const data = await sdk.login();

登录流程:

  1. 通过 jsb.reflection.callStaticMethod 调用 Java 层 M4399Bridge.login() 方法
  2. Java 层登录成功后调用 window.onM4399LoginSuccess(data) 回调,传入 JSON 字符串
  3. SDK 解析 JSON 返回登录数据
  4. Java 层登录失败时调用 window.onM4399LoginFail(error) 回调

回调函数:

回调参数说明
window.onM4399LoginSuccessdata: string登录成功,JSON 字符串格式的登录数据
window.onM4399LoginFailerror: string登录失败原因

不支持的功能

4399 APK 适配器未实现以下功能,调用时使用基类默认行为:

  • checkSession() — 继承基类
  • playRewardedVideo() — 继承基类
  • createBannerAd() / showBannerAd() / hideBannerAd() / destroyBannerAd() — 继承基类
  • shareAppMessage() — 继承基类
  • addShortcut() / checkShortcut() — 继承基类
  • addCommonUse() / checkCommonUse() — 继承基类
  • checkScene() / navigateToScene() — 继承基类
  • getUserInfo() — 继承基类
  • reportEvent() — 继承基类