platform.ts 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. import { JSB } from "cc/env";
  2. export const ISJSB = JSB;
  3. /**
  4. * 平台功能
  5. */
  6. export namespace platform {
  7. /**
  8. * 检查权限
  9. */
  10. export function checkCPermissions() {
  11. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "checkCPermissions", "()V");
  12. }
  13. /**
  14. * 下载apk并安装
  15. * @param url 下载地址
  16. * @param saveName apk保存的名称
  17. */
  18. export function downloadAPK(url: string, saveName: string = "app.apk", visibility: boolean = false) {
  19. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "downloadAPK", "(Ljava/lang/String;Ljava/lang/String;Z)V", url, saveName, visibility);
  20. }
  21. /**
  22. * 展示激励视频
  23. */
  24. export function showRewardVideoAD() {
  25. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showRewardVideoAD", "()V");
  26. }
  27. /**
  28. * 展示插屏广告
  29. */
  30. export function showInterstutalAD() {
  31. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showInterstutalAD", "()V");
  32. }
  33. /**
  34. * 展示全屏广告
  35. */
  36. export function showFullScreenAD() {
  37. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showFullScreenAD", "()V");
  38. }
  39. /**
  40. * 展示横幅广告
  41. */
  42. export function showBannerAD() {
  43. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showBannerAD", "()V");
  44. }
  45. /**
  46. * 移除横幅广告
  47. */
  48. export function removeBannerAD() {
  49. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "removeBannerAD", "()V");
  50. }
  51. /**
  52. * 展示原生广告
  53. */
  54. export function showNativeAD() {
  55. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "showNativeAD", "()V");
  56. }
  57. /**
  58. * 移除原生广告
  59. */
  60. export function removeNativeAD() {
  61. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "removeNativeAD", "()V");
  62. }
  63. /**
  64. * 移除开屏图
  65. */
  66. export function removeSplash() {
  67. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "removeSplash", "()V");
  68. }
  69. /**
  70. * 微信登录
  71. */
  72. export function wxLogin() {
  73. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "wxLogin", "()V");
  74. }
  75. /**
  76. * 微信分享
  77. */
  78. export function wxShare(url: string, title: string, descroption: string) {
  79. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "wxShare", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", url, title, descroption);
  80. }
  81. /**
  82. * 打开手机浏览器
  83. * @param url 跳转地址
  84. */
  85. export function openUrl(url: string) {
  86. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "openUrl", "(Ljava/lang/String;)V", url);
  87. }
  88. /**
  89. * 打开微信小程序
  90. * @param url 跳转地址
  91. */
  92. export function openWXApplets(userName: string, url: string) {
  93. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "openWXApplets", "(Ljava/lang/String;Ljava/lang/String;)V", userName, url);
  94. }
  95. /**
  96. * UM上报
  97. */
  98. export function umUp(eventId: string) {
  99. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "umBuriedPoint", "(Ljava/lang/String;)V", eventId);
  100. }
  101. /**
  102. * 试玩游戏
  103. */
  104. export function intoGameList(userId: string) {
  105. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "intoGameList", "(Ljava/lang/String;)V", userId);
  106. }
  107. /**
  108. * 复制字符串
  109. */
  110. export function copyText(text: string) {
  111. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "copyText", "(Ljava/lang/String;)V", text);
  112. }
  113. /**
  114. *互推下载
  115. */
  116. export function downloadFile(url: string, saveName: string = "app.apk", progressName: string) {
  117. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "downloadFile", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", url, saveName, progressName);
  118. }
  119. /**
  120. * 检测本地没有安装包
  121. * @param apkName
  122. * @returns
  123. */
  124. export function isExistAPK(apkName: string): boolean {
  125. if (ISJSB) {
  126. return jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "isExistAPK", "(Ljava/lang/String;)Z", apkName);
  127. }
  128. return false;
  129. }
  130. /**
  131. * 检测本地有没有安装
  132. * @param packageName
  133. * @returns
  134. */
  135. export function isInstalled(packageName: string): boolean {
  136. if (ISJSB) {
  137. return jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "isInstalled", "(Ljava/lang/String;)Z", packageName);
  138. }
  139. return false;
  140. }
  141. /**
  142. * 安装应用
  143. */
  144. export function installApp(apkName: string) {
  145. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "installApp", "(Ljava/lang/String;)V", apkName);
  146. }
  147. /**
  148. * 启动应用
  149. */
  150. export function startApp(packageName: string) {
  151. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "startApp", "(Ljava/lang/String;)V", packageName);
  152. }
  153. /**
  154. * 上报用户ID
  155. */
  156. export function setThinkingID(userId: string) {
  157. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "setThinkingID", "(Ljava/lang/String;)V", userId);
  158. }
  159. /**
  160. * 上报数数
  161. */
  162. export function reportThinking(eventName: string) {
  163. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "reportThinking", "(Ljava/lang/String;)V", eventName);
  164. }
  165. /**
  166. * 第一次接口上报数数
  167. */
  168. export function reportThinkingOnce(eventName: string) {
  169. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "reportThinkingOnce", "(Ljava/lang/String;)V", eventName);
  170. }
  171. /**
  172. * 上报用户数据到数数
  173. */
  174. export function reportThinkingUserInfo(userData: string) {
  175. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "reportThinkingUserInfo", "(Ljava/lang/String;)V", userData);
  176. }
  177. /**
  178. * 火山上报
  179. */
  180. export function volcanicReport(sceneName: string) {
  181. ISJSB && jsb.reflection.callStaticMethod("com/cocos/game/MainActivity", "volcanicReport", "(Ljava/lang/String;)V", sceneName);
  182. }
  183. }