logo
0
0
WeChat Login
docs(readme): 展示标准调用与 GameApp 快捷调用两种用法

GameFrameX Logo

Game Frame X Advertisement (CSJ / 穿山甲)

Version License Documentation

独立游戏前后端一体化解决方案 · 独立游戏开发者的圆梦大使

📖 文档🚀 快速开始💬 QQ群


🌐 语言: English | 简体中文 | 繁體中文 | 日本語 | 한국어


项目简介

Game Frame X 广告系统的穿山甲(CSJ/Pangle)平台适配器。为 iOS 和 Android 应用提供基于字节跳动穿山甲广告 SDK 的激励视频广告集成。

功能特性

  • 基于穿山甲(CSJ/Pangle)SDK 的激励视频广告支持
  • 原生 iOS 和 Android 平台支持
  • IL2CPP 代码裁剪保护
  • 条件编译(UNITY_IOSUNITY_ANDROID
  • 与 Game Frame X 广告组件无缝集成

架构概览

本包是 Game Frame X 广告核心 BaseAdvertisementManager适配器实现。通过 Unity Inspector 配置 AdvertisementComponent 后,自动发现并加载。

说明
CSJAdvertisementManager激励视频广告管理器 — 加载、展示及生命周期管理
CSJAdvertisementConfig广告配置,包含 appId 和 adUnitId 字段
CSJBridgeiOS/Android 原生平台调用桥接
CSJNativeMessageHandler原生消息回调处理器
GameFrameXAdvertisementCSJCroppingHelperIL2CPP link.xml 替代方案 — 保留类型引用

快速开始

安装

  1. 安装广告核心包
  2. 通过 Unity Package Manager (UPM) 添加本适配器:
{
  "dependencies": {
    "com.gameframex.unity.advertisement": "https://github.com/GameFrameX/com.gameframex.unity.advertisement.git",
    "com.gameframex.unity.advertisement.csj": "https://github.com/gameframex/com.gameframex.unity.advertisement.csj.git"
  }
}

或在 Unity Package Manager 窗口中通过 git URL 添加。

使用示例

在 Unity Inspector 中配置:将 AdvertisementComponent 添加到 GameObject,然后在实现类型下拉框中选择 CSJAdvertisementManager

using GameFrameX.Advertisement.Runtime;

// 标准方式:通过 GameEntry(不依赖 com.gameframex.unity.entry)
var adComponent = GameEntry.GetComponent<AdvertisementComponent>();

// 设置服务端验证数据(可选)
adComponent.SetExtraData("userId", player.UserId);

// 播放激励视频广告
var option = new AdvertisementPlayOption
{
    OnSuccess    = (data) => Debug.Log("广告展示成功"),
    OnFail       = (err) => Debug.LogError($"广告展示失败: {err}"),
    OnShowResult = (watched) =>
    {
        if (watched)
        {
            // 发放奖励
        }
    },
};
adComponent.Play(option);

// 快捷方式:通过 GameApp(需要 com.gameframex.unity.entry)
GameApp.Advertisement.SetExtraData("userId", player.UserId);
var option2 = new AdvertisementPlayOption
{
    OnSuccess    = (data) => Debug.Log("广告展示成功"),
    OnFail       = (err) => Debug.LogError($"广告展示失败: {err}"),
    OnShowResult = (watched) =>
    {
        if (watched)
        {
            // 发放奖励
        }
    },
};
GameApp.Advertisement.Play(option2);

平台支持

平台支持
iOS
Android
WebGL
Standalone

需要 UNITY_IOSUNITY_ANDROID 脚本宏定义。

文档与资源

社区与支持

更新日志

v1.0.0

  • 初始发布
  • 支持穿山甲(CSJ/Pangle)平台激励视频广告
  • IL2CPP 裁剪保护

开源协议

本项目基于 MIT 许可证Apache 许可证 2.0 双重授权。