| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- import { Rect, sys, view } from "cc";
- import { JSB } from "cc/env";
- export function ISJSB() {
- return !!JSB;
- }
- /**
- * 平台功能
- */
- export namespace platform {
- /**
- * 检查权限
- */
- export function checkCPermissions() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "checkCPermissions", "()V");
- }
- /**
- * 下载apk并安装
- * @param url 下载地址
- * @param saveName apk保存的名称
- */
- export function downloadAPK(url: string, saveName: string = "app.apk", visibility: boolean = false) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "downloadAPK", "(Ljava/lang/String;Ljava/lang/String;Z)V", url, saveName, visibility);
- }
- /**
- * 展示激励视频
- */
- export function showRewardVideoAD() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showRewardVideoAD", "()V");
- }
- /**
- * 展示插屏广告
- */
- export function showInterstutalAD() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showInterstutalAD", "()V");
- }
- /**
- * 展示全屏广告
- */
- export function showFullScreenAD() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showFullScreenAD", "()V");
- }
- /**
- * 展示横幅广告
- */
- export function showBannerAD() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showBannerAD", "()V");
- }
- /**
- * 移除横幅广告
- */
- export function removeBannerAD() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "removeBannerAD", "()V");
- }
- /**
- * 展示原生广告
- */
- export function showNativeAD() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showNativeAD", "()V");
- }
- /**
- * 移除原生广告
- */
- export function removeNativeAD() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "removeNativeAD", "()V");
- }
- /**
- * 移除开屏图
- */
- export function removeSplash() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "removeSplash", "()V");
- }
- /**
- * 微信登录
- */
- export function wxLogin() {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "wxLogin", "()V");
- }
- /**
- * 微信分享
- */
- export function wxShare(url: string, title: string, descroption: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "wxShare", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", url, title, descroption);
- }
- /**
- * 打开手机浏览器
- * @param url 跳转地址
- */
- export function openUrl(url: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "openUrl", "(Ljava/lang/String;)V", url);
- }
- /**
- * 打开微信小程序
- * @param url 跳转地址
- */
- export function openWXApplets(userName: string, url: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "openWXApplets", "(Ljava/lang/String;Ljava/lang/String;)V", userName, url);
- }
- /**
- * UM上报
- */
- export function umUp(eventId: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "umBuriedPoint", "(Ljava/lang/String;)V", eventId);
- }
- /**
- * 试玩游戏
- */
- export function intoGameList(userId: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "intoGameList", "(Ljava/lang/String;)V", userId);
- }
- /**
- * 复制字符串
- */
- export function copyText(text: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "copyText", "(Ljava/lang/String;)V", text);
- }
- /**
- *互推下载
- */
- export function downloadFile(url: string, saveName: string = "app.apk", progressName: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "downloadFile", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", url, saveName, progressName);
- }
- /**
- * 检测本地没有安装包
- * @param apkName
- * @returns
- */
- export function isExistAPK(apkName: string): boolean {
- if (ISJSB()) {
- return jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "isExistAPK", "(Ljava/lang/String;)Z", apkName);
- }
- return false;
- }
- /**
- * 检测本地有没有安装
- * @param packageName
- * @returns
- */
- export function isInstalled(packageName: string): boolean {
- if (ISJSB()) {
- return jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "isInstalled", "(Ljava/lang/String;)Z", packageName);
- }
- return false;
- }
- /**
- * 安装应用
- */
- export function installApp(apkName: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "installApp", "(Ljava/lang/String;)V", apkName);
- }
- /**
- * 启动应用
- */
- export function startApp(packageName: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "startApp", "(Ljava/lang/String;)V", packageName);
- }
- /**
- * 上报用户ID
- */
- export function setThinkingID(userId: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "setThinkingID", "(Ljava/lang/String;)V", userId);
- }
- /**
- * 上报数数
- */
- export function reportThinking(eventName: string, data: string = "") {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "reportThinking", "(Ljava/lang/String;Ljava/lang/String;)V", eventName, data);
- }
- /**
- * 第一次接口上报数数
- */
- export function reportThinkingOnce(eventName: string, data: string = "") {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "reportThinkingOnce", "(Ljava/lang/String;Ljava/lang/String;)V", eventName, data);
- }
- /**
- * 上报用户数据到数数
- */
- export function reportThinkingUserInfo(userData: string) {
- ISJSB() && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "reportThinkingUserInfo", "(Ljava/lang/String;)V", userData);
- }
- }
- //SafeArea适配
- let getSafeAreaRect_old = sys.getSafeAreaRect;
- sys.getSafeAreaRect = function () {
- let rect: Rect = getSafeAreaRect_old();
- if (ISJSB()) {
- let offHeight = globalThis.notchRatio * view.getVisibleSize().height;
- rect.height -= (offHeight || 0);
- }
- console.log("============刘海屏适配" + rect);
- return rect;
- }
|