| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- import { sys ,Node} from "cc";
- import BaseSdk from "./BaseSdk";
- import SdkInterface, { MgrScope } from "./SdkInterface";
- import WxSdk from "./WxSdk";
- import TTSdk from "./TTSdk";
- import Instance from "../../core_tgx/util/Instance";
- export enum SDK_TYPE {
- PC = 0, //PC
- WX_DEBUG, //微信测试
- TT,//抖音
- }
- export class SdkMgr {
- public static getInstance(param?): SdkMgr{
- return Instance.get(SdkMgr,param);
- }
- private _sdkObj: SdkInterface;
-
- public constructor(sdkType?:SDK_TYPE ) {
- if(!sdkType &&sdkType != 0){
- if(sys.platform===sys.Platform.WECHAT_GAME){
- sdkType=SDK_TYPE.WX_DEBUG;
- }else if(sys.platform===sys.Platform.BYTEDANCE_MINI_GAME){
- sdkType=SDK_TYPE.TT;
- }else{
- sdkType=SDK_TYPE.PC;
- }
- }
- switch (sdkType) {
- case SDK_TYPE.WX_DEBUG: //微信debug
- this._sdkObj = new WxSdk();
-
- break;
- case SDK_TYPE.TT: //微信debug
- this._sdkObj = new TTSdk();
- break;
- default: //pc
- this._sdkObj = new BaseSdk();
- break;
- }
- }
- get sdkObj():SdkInterface{
- return this._sdkObj
- }
-
- /**
- * 初始化
- * @param callback 初始化成功后回调
- * @param target 监听对象
- */
- // public init(callback: Function=null, target: Object=null): void {
- // console.log("SdkMgr init");
- // this.sdkObj.init(callback, target);
- // }
-
- /**
- * 登录
- * @param callback 登录成功后回调
- * @param target 监听对象
- */
- // public login(callback: Function, target: Object): void {
- // console.log("SdkMgr login");
- // this.sdkObj.login(callback, target);
- // }
- /**
- * 登出
- */
- // public logout(): void {
- // console.log("SdkMgr logout");
- // this.sdkObj.logout();
- // }
- /**
- * 退出
- */
- // public exit(): void {
- // console.log("SdkMgr exit");
- // this.sdkObj.exit();
- // }
- /**
- * 切换账号
- */
- // public switchLogin(): void {
- // console.log("SdkMgr switchLogin");
- // this.sdkObj.switchLogin();
- // }
- /**
- * 数据上报
- * @param param 参数
- */
- public report(...param: any[]): void {
- console.log("SdkMgr report");
- this.sdkObj.report(param);
- }
- /**
- * 数据上报
- * @param param 参数
- */
- public pay(...param: any[]): void {
- console.log("SdkMgr pay");
- this.sdkObj.pay(param);
- }
- public setOpenScore(score:number):void{
- this.sdkObj.setOpenScore(score);
- }
- public getOpenRank():void{
- this.sdkObj.getOpenRank();
- }
- /**激励广告*/
- public playRewardAd(callback: Function, target?: any,scene?:any): void {
- // 看广告是不录屏
- this.sdkObj.recorderPause();
- this.sdkObj.showLoading()
- let _callback = (success)=>{
- this.sdkObj.recorderResume();
- callback.call(target,success);
- // 如果看广告成功需要发送消息
- // if(success){
- // this.sendAnalytics({event_type:AnalyticsType.lt_roi})
- // this.sendAnalytics({event_type:AnalyticsType.micro_game_ltv})
- // }
- }
- chsdk.playRewardAd(scene).then(success => {
- if (success) {
- _callback(success)
- }
- this.sdkObj.hideLoading()
- })
-
- }
- /**
- * 主动拉起转发(小程序)
- */
- shareAppMessage(title: string = "", imageUrlId: string = "", imageUrl: string = "", message:string=""): void {
- // this.sdkObj.shareAppMessage(title, imageUrlId, imageUrl, query, shareCallback);
- chsdk.shareAppMessage(title, imageUrlId, imageUrl, message)
- }
- /**开始录屏*/
- recorderStart(duration:number=30):void{
- try {
- this.sdkObj.recorderStart(duration);
- } catch (error) {
-
- }
-
- }
- /**结束录屏*/
- recorderStop():void{
-
- this.sdkObj.recorderStop();
-
-
- }
- /**分享录屏*/
- public shareRecord(title: string="" ,desc:string="",path:string="",topics:string[]=[]):void{
- this.sdkObj.shareRecord(title,desc,path,topics);
- }
- /**进入侧边栏 */
- public goToSidebar():void{
- this.sdkObj.goToSidebar();
- }
- /**是否有侧边栏功能 */
- public checkHasSidebar():boolean{
- return this.sdkObj.checkHasSidebar();
- }
- /**是否从侧边栏进入*/
- public checkFromSidebar():boolean{
- return this.sdkObj.checkFromSidebar();
- }
- vibrateShort(param: any) {
- return this.sdkObj.vibrateShort(param);
- }
- /**继续录屏 */
- recorderResume(){
- return this.sdkObj.recorderResume();
- }
- /**暂停录屏 */
- recorderPause(){
- return this.sdkObj.recorderPause();
- }
- /**录屏状态 */
- get recordState(){
- return this.sdkObj.recordState
- }
- // 授权
- authorize(str?,cb?){
- str = this._sdkObj.getScope(str)||str
- return this.sdkObj.authorize(str,cb)
- }
- getUserInfo(cb, node?: Node,btnCb?){
- this.sdkObj.getUserInfo(cb, node,btnCb)
- }
- // 菜单
- getMenuButtonBoundingClientRect(){
- return this.sdkObj.getMenuButtonBoundingClientRect()
- }
- // 发消息
- posMessge(messge?){
- return this.sdkObj.posMessge(messge)
- }
- get scope() {
- return MgrScope
- }
- showRankList(param){
- //moba游戏自动生成段位榜
- return this.sdkObj.showRankList(param)
- }
- setImRankData(param){
- return this.sdkObj.setImRankData(param)
- }
- // sendAnalytics(param:{event_type:AnalyticsType,outer_event_id?:number}){
- // if(sys.platform!=sys.Platform.BYTEDANCE_MINI_GAME) return;
- // return (this.sdkObj as TTSdk).sendAnalytics(param)
- // }
- awemeUserProfile(callback: Function){
- if(sys.platform!=sys.Platform.BYTEDANCE_MINI_GAME) return;
- return (this.sdkObj as TTSdk).awemeUserProfile(callback)
-
- }
- checkFollowAwemeState(callback: Function){
- if(sys.platform!=sys.Platform.BYTEDANCE_MINI_GAME) return;
- return (this.sdkObj as TTSdk).checkFollowAwemeState(callback)
-
- }
- openSetting(res:any){
- // if(sys.platform!=sys.Platform.BYTEDANCE_MINI_GAME) return;
- return this.sdkObj.openSetting(res)
- }
- getWindowInfo():{safeArea?:any}{
- return this.sdkObj.getWindowInfo()
- }
- }
- export enum AnalyticsType{
- active = "active",
- next_day_open = "next_day_open",
- lt_roi = "lt_roi",
- ug_roi ="ug_roi",
- in_app_retention_3d = "in_app_retention_3d",
- in_app_retention_2d ="in_app_retention_2d",
- micro_game_ltv ="micro_game_ltv",
- game_addiction ="game_addiction"
- }
|