Cocos Creator Telegram mini APP

发布于:2025-06-19 ⋅ 阅读:(14) ⋅ 点赞:(0)

Cocos Creator h5 游戏发布到 Telegram mini App

今天我们把 Cocos Creator 发布出来的 H5 游戏放进 Telegram mini App 中,这个类似 微信小程序。先看效果 这个小游戏是我之前写的 demo 

Telegram mini App 本质原理是 将 bot 机器人绑定一个域名

第一步. 我们先创建 机器人

我们先找到 BotFather

我们在输入框中依次输入:

1. /start      

    没有创创建国机器人的, new 就好了

2. /newbot

   输入一个 以 bot 结尾的 名称

3.输入你的 机器人名称 @开头

  然后就是填写信息 的上传图片, gif 可以省略  

  设置机器人连接 等等

4.设置完成时候你就能点击 机器人连接 打开 telegram miniapp 

5.当然你也可以编辑你刚刚设置的信息 /editapp

第二步. 改造 cocos creator 游戏

将我们的 cocos creator 引入  Telegram mini app SDK。引入方式主要分为两种:

  • npm 方式引入 https://github.com/twa-dev/SDK
    npm i @twa-dev/sdk
    
    
    //脚本调用:
    import WebApp from '@twa-dev/sdk'
    
    #这边使用的时候发现有点蹩脚
    
    //直接调用会报错,   showAlert is not a functuon
    WebApp.showAlert('Hey there!');

    // 需要都给他 包裹一层 才能正常调用, 目前不清楚什么原因. 
    // 伙有遇到 更好的办法可以交流下
    //
    console.log('WebApp.platform:', WebApp['default'].platform);
    console.log('WebApp.initData :', WebApp['default'].initData);
    console.log('WebApp.initDataUnsafe :', WebApp['default'].initDataUnsafe);
    console.log('WebApp:', WebApp['default']);

  • js 方式引入
    1. 首先在你的 cocos creator 项目中创建 web-mobile,模版,会在项目根目录 生成一个 build-templates  ->  web-mobile   index.ejs文件
    
    
    2. 添加   <script src="https://telegram.org/js/telegram-web-app.js"></script>

    代码中你要是要使用  window.Telegram 需要多做一步转换, 

import { Telegram } from "@twa-dev/types";
declare global {
  interface Window {
    Telegram: Telegram;
  }
}


//这样就能直接 
console.log(`WebApp.platform:${window.Telegram.WebApp.platform}`);
console.log(`WebApp.initData :${window.Telegram.WebApp.initData}`);
console.log('WebApp.initDataUnsafe :', window.Telegram.WebApp.initDataUnsafe);
console.log(' window.Telegram:', window.Telegram);
console.log(' window.Telegram.WebApp:', window.Telegram.WebApp);

 总体看来 两种方式都有点蹩脚,

 

第三部. 跑效果

 这样我们就能拿到 使用小程序的用户属性, 以及传入参数


网站公告

今日签到

点亮在社区的每一天
去签到