You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
435 lines
15 KiB
435 lines
15 KiB
import AppPlatform from "../../FrameWork/Util/AppPlatform";
|
|
import AppConfig from "../../FrameWork/Config/AppConfig";
|
|
import HttpUnit from "../../FrameWork/NetWork/HttpUnit";
|
|
import AppSwitchConfig from "../../FrameWork/Config/AppSwitchConfig";
|
|
import { LogUtils } from "../../FrameWork/Util/LogUtils";
|
|
|
|
|
|
export default class OPPOAPI {
|
|
public static readonly adUnitId_custom = "";
|
|
public static readonly bannerAdUnitId_custom = "";
|
|
public static readonly InsAdUnitId_custom = "";
|
|
public static readonly OpenScreenAdUnitId_custom = "";
|
|
public static readonly NativeAdId_custom = ""
|
|
|
|
public static get BannerInstance_custom() {
|
|
return OPPOAPI._banner_custom;
|
|
}
|
|
protected static _banner_custom: any = null;
|
|
|
|
public static Login_custom(onSuccess: Function, onFail: Function) {
|
|
if (AppPlatform.is_OPPO_GAME_custom()) {
|
|
window["qg"].login(
|
|
{
|
|
success: (res) => {
|
|
let token = res.data.token;
|
|
onSuccess(token);
|
|
console.log("OPPO 登陆成功,获取到 token : " + token);
|
|
for (var key in res) {
|
|
console.log(key, res[key]);
|
|
}
|
|
},
|
|
fail: (res) => {
|
|
console.log("OPPO 登陆失败", res);
|
|
for (var key in res) {
|
|
console.log(key, res[key]);
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
public static initAdService_custom(onSuccess: Function, onFail: Function, onComplete: Function) {
|
|
window["qg"].initAdService(
|
|
{
|
|
appId: AppConfig.AppID_custom,
|
|
isDebug: false,
|
|
success: function (res) {
|
|
console.log("oppo initAdService success");
|
|
if (onSuccess) {
|
|
onSuccess(res)
|
|
}
|
|
},
|
|
fail: function (res) {
|
|
console.log("oppo initAdService fail: ", res.code, res.msg);
|
|
if (onFail) {
|
|
onFail(res)
|
|
}
|
|
},
|
|
complete: function (res) {
|
|
console.log("oppo initAdService complete");
|
|
if (onComplete) {
|
|
onComplete(res)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
public static showRewardedVideoAd_custom(onAdClose: Function, onFailed: Function, id?: string) {
|
|
if (AppPlatform.is_OPPO_GAME_custom()) {
|
|
let videoId = AppConfig.tt_adUnitId_custom
|
|
if (id) {
|
|
videoId = id;
|
|
}
|
|
let videoAd = window["qg"].createRewardedVideoAd({
|
|
posId: videoId
|
|
})
|
|
videoAd.onLoad(() => {
|
|
console.log("oppo 视频广告加载完成");
|
|
videoAd.show();
|
|
})
|
|
videoAd.onVideoStart(() => {
|
|
console.log("oppo 视频广告开始播放");
|
|
})
|
|
videoAd.onClose((res) => {
|
|
if (res.isEnded) {
|
|
console.log("oppo 视频广告观看 完成");
|
|
onAdClose(true);
|
|
} else {
|
|
console.log("oppo 视频广告观看 未完成");
|
|
onAdClose(false);
|
|
}
|
|
videoAd.destroy();
|
|
})
|
|
videoAd.onError((err) => {
|
|
console.log("oppo 视频广告获取失败", err);
|
|
videoAd.destroy();
|
|
onFailed();
|
|
})
|
|
videoAd.load();
|
|
}
|
|
else {
|
|
onAdClose(true);
|
|
}
|
|
}
|
|
|
|
public static navigateToMiniProgram_custom(pkgName: string, gameName: string, path: string, onSuccess: Function, onFail: Function, onComplate: Function) {
|
|
|
|
if (AppPlatform.is_OPPO_GAME_custom()) {
|
|
console.log("OPPO 跳转游戏: " + pkgName);
|
|
HttpUnit.reportExport_custom(pkgName, gameName, (result) => {
|
|
if (1 == result.code) {
|
|
console.log("OPPO 导出上报成功");
|
|
}
|
|
else {
|
|
console.log("OPPO 导出上报失败", result.msg);
|
|
}
|
|
}, (result) => {
|
|
console.log("OPPO 导出上报失败");
|
|
for (var key in result) {
|
|
console.log(key, result[key]);
|
|
}
|
|
});
|
|
let time = Date.now();
|
|
while (Date.now() - time <= 500) {
|
|
|
|
}
|
|
window["qg"].navigateToMiniGame(
|
|
{
|
|
pkgName: pkgName,
|
|
path: path,
|
|
extraData: {
|
|
from: AppConfig.AppID_custom
|
|
},
|
|
envVersion: 'release',
|
|
success(res) {
|
|
if (onSuccess) {
|
|
onSuccess(res)
|
|
}
|
|
},
|
|
fail(res) {
|
|
if (onFail) {
|
|
onFail(res)
|
|
}
|
|
},
|
|
// complete(res) {
|
|
// if (onComplate) {
|
|
// onComplate(res)
|
|
// }
|
|
// }
|
|
})
|
|
|
|
|
|
}
|
|
}
|
|
|
|
public static showInterstitialAd_custom(onAdClose: Function, onFailed: Function) {
|
|
|
|
if (AppPlatform.is_OPPO_GAME_custom()) {
|
|
var insertAd = window["qg"].createInsertAd({
|
|
posId: OPPOAPI.InsAdUnitId_custom
|
|
})
|
|
insertAd.load();
|
|
insertAd.onLoad(() => {
|
|
console.log("插屏广告加载完成");
|
|
insertAd.show();
|
|
})
|
|
insertAd.onShow(() => {
|
|
console.log("插屏广告显示成功");
|
|
})
|
|
insertAd.onError((err) => {
|
|
console.log("插屏广告拉取失败", err);
|
|
insertAd.destroy();
|
|
if (onFailed) {
|
|
onFailed();
|
|
}
|
|
})
|
|
}
|
|
else {
|
|
onAdClose();
|
|
}
|
|
}
|
|
|
|
public static showBannaer_custom(): any {
|
|
if (OPPOAPI._banner_custom) {
|
|
OPPOAPI._banner_custom.show();
|
|
return;
|
|
}
|
|
var bannerAd = window["qg"].createBannerAd({
|
|
posId: OPPOAPI.bannerAdUnitId_custom
|
|
})
|
|
bannerAd.show();
|
|
OPPOAPI._banner_custom = bannerAd;
|
|
}
|
|
|
|
public static hideBanner_custom() {
|
|
if (OPPOAPI._banner_custom) {
|
|
OPPOAPI._banner_custom.hide();
|
|
}
|
|
}
|
|
|
|
public static destroyBanner_custom() {
|
|
if (OPPOAPI._banner_custom) {
|
|
OPPOAPI._banner_custom.destroy();
|
|
}
|
|
OPPOAPI._banner_custom = null;
|
|
}
|
|
|
|
public static getLaunchOptionsSync_custom() {
|
|
let obj: any = { query: "", referrerInfo: { package: "", extraData: { appid: "" } } }
|
|
|
|
if (AppPlatform.is_OPPO_GAME_custom()) {
|
|
var options = window["qg"].getLaunchOptionsSync();
|
|
if (null != options && options != "") {
|
|
obj = options;
|
|
}
|
|
else {
|
|
console.log("没有启动设置!!!")
|
|
}
|
|
return obj;
|
|
}
|
|
return obj;
|
|
}
|
|
|
|
public static share_custom(complate: Function, titel: string, imageUrl: string) {
|
|
complate(false);
|
|
}
|
|
|
|
public static createDesktopIcon_custom(onSuccess: Function, onFail: Function) {
|
|
|
|
if (AppPlatform.is_OPPO_GAME_custom()) {
|
|
window["qg"].hasShortcutInstalled({
|
|
success: function (res) {
|
|
if (res == false) {
|
|
window["qg"].installShortcut(
|
|
{
|
|
success: function () {
|
|
if (onSuccess) {
|
|
onSuccess();
|
|
}
|
|
},
|
|
fail: function (err) {
|
|
if (onFail) {
|
|
onFail();
|
|
}
|
|
console.log("创建桌面图标失败!!!!", err);
|
|
for (var key in err) {
|
|
console.log(key, err);
|
|
}
|
|
},
|
|
complete: function () {
|
|
|
|
}
|
|
})
|
|
}
|
|
else {
|
|
console.log("桌面图标已存在!!!!");
|
|
if (onFail) {
|
|
onFail();
|
|
}
|
|
}
|
|
},
|
|
fail: function (err) {
|
|
if (onFail) {
|
|
onFail();
|
|
}
|
|
console.log("判断桌面图标是否存在失败!!!", err);
|
|
for (var key in err) {
|
|
console.log(key, err);
|
|
}
|
|
},
|
|
complete: function () {
|
|
|
|
}
|
|
})
|
|
}
|
|
else {
|
|
if (onFail) {
|
|
onFail();
|
|
}
|
|
}
|
|
}
|
|
|
|
//根据配置的概率自动弹出创建图标确认框
|
|
public static autoPopCreateDestopIcon_custom(onSuccess: Function, onFail: Function) {
|
|
|
|
if (!AppPlatform.is_OPPO_GAME_custom()) {
|
|
if (null != onFail) {
|
|
onFail();
|
|
}
|
|
return;
|
|
}
|
|
let rate = Math.floor(Math.random() * 100);
|
|
if (rate <= AppSwitchConfig.getInstance_custom().getAppSwitchData_custom().oppocfg_custom.addToDesktop_custom) {
|
|
OPPOAPI.createDesktopIcon_custom(onSuccess, onFail);
|
|
}
|
|
else {
|
|
if (null != onFail) {
|
|
onFail();
|
|
}
|
|
}
|
|
}
|
|
|
|
//显示OPPO原生界面
|
|
public static showNativeAd_custom(onSuccess: Function, onFail: Function) {
|
|
LogUtils.warn_custom("111111111111111111111111")
|
|
// if (!AppPlatform.is_OPPO_GAME()) {
|
|
// if (null != onFail) {
|
|
// onFail();
|
|
// }
|
|
// return;
|
|
// }
|
|
// if (1 == AppSwitchConfig.getInstance().getAppSwitchData().oppocfg.yuanshengSwitch) {
|
|
// ViewMgr.instance.openView(ViewDef.OPPONativeView, null, (v: OPPONativeAdViewTemplate) => {
|
|
// if (null != onSuccess) {
|
|
// onSuccess(v);
|
|
// }
|
|
// });
|
|
// }
|
|
// else {
|
|
// if (null != onFail) {
|
|
// onFail();
|
|
// }
|
|
// }
|
|
}
|
|
|
|
|
|
|
|
public static _cachedNativeAd_custom: any = null;
|
|
public static _cachedAdItem_custom: any = null;
|
|
public static _cachedimgUrl_custom: string = null;
|
|
public static _tryLoadCount_custom: number = 5;
|
|
|
|
|
|
|
|
public static LoadCahcedNativeAd_custom(): void {
|
|
if (OPPOAPI._cachedNativeAd_custom) {
|
|
OPPOAPI._cachedNativeAd_custom.destroy();
|
|
OPPOAPI._cachedNativeAd_custom = null;
|
|
}
|
|
OPPOAPI._cachedAdItem_custom = null;
|
|
OPPOAPI._cachedNativeAd_custom = window["qg"].createNativeAd({
|
|
posId: OPPOAPI.NativeAdId_custom
|
|
})
|
|
OPPOAPI._cachedNativeAd_custom.load();
|
|
++OPPOAPI._tryLoadCount_custom;
|
|
console.log("缓存 原生广告 开始加载");
|
|
|
|
let self = this;
|
|
|
|
OPPOAPI._cachedNativeAd_custom.onLoad((res) => {
|
|
console.log("缓存 原生广告 加载成功:", res);
|
|
var adlist = res.adList;
|
|
for (var i = 0; i < adlist.length; ++i) {
|
|
var ad = adlist[i];
|
|
console.log("缓存 原生广告 数据:", i);
|
|
for (var key in ad) {
|
|
console.log(key, ad[key]);
|
|
}
|
|
}
|
|
OPPOAPI._cachedAdItem_custom = adlist[Math.floor(Math.random() * adlist.length)];
|
|
if (null != OPPOAPI._cachedAdItem_custom) {
|
|
for (var i = 0; i < OPPOAPI._cachedAdItem_custom.imgUrlList.length; ++i) {
|
|
console.log("缓存 原生广告 imgUrlList : ", i + " ", OPPOAPI._cachedAdItem_custom.imgUrlList[i])
|
|
}
|
|
let imgUrlList = OPPOAPI._cachedAdItem_custom.imgUrlList;
|
|
for (let i = 0; i < imgUrlList.length; ++i) {
|
|
let imgUrl = imgUrlList[i];
|
|
OPPOAPI._cachedimgUrl_custom = imgUrl;
|
|
if (null != OPPOAPI._cachedimgUrl_custom && "" != OPPOAPI._cachedimgUrl_custom) {
|
|
break;
|
|
}
|
|
}
|
|
if (null != OPPOAPI._cachedimgUrl_custom && "" != OPPOAPI._cachedimgUrl_custom) {
|
|
console.log("缓存 原生广告 加载图片", OPPOAPI._cachedimgUrl_custom);
|
|
}
|
|
else {
|
|
console.log("缓存 原生广告 加载失败 imgulr is : ", OPPOAPI._cachedimgUrl_custom);
|
|
OPPOAPI._cachedNativeAd_custom.destroy();
|
|
OPPOAPI._cachedNativeAd_custom = null;
|
|
setTimeout(() => {
|
|
OPPOAPI.LoadCahcedNativeAd_custom();
|
|
}, 2500);
|
|
}
|
|
}
|
|
})
|
|
OPPOAPI._cachedNativeAd_custom.onError((res) => {
|
|
console.log("缓存 原生广告 加载失败:", res);
|
|
for (var key in res) {
|
|
console.log(key, res[key]);
|
|
}
|
|
OPPOAPI._cachedNativeAd_custom.destroy();
|
|
OPPOAPI._cachedNativeAd_custom = null;
|
|
setTimeout(() => {
|
|
OPPOAPI.LoadCahcedNativeAd_custom();
|
|
}, 5000);
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 判断是否创建桌面图标
|
|
* @param onSuccess
|
|
* @param onFail
|
|
*/
|
|
public static hasShortcutInstalled(onSuccess: Function, onFail: Function) {
|
|
window["qg"].hasShortcutInstalled({
|
|
success: function (res) {
|
|
if (res == false) {
|
|
console.log("桌面图标不存在!!!!");
|
|
if (onSuccess) {
|
|
onSuccess(false);
|
|
}
|
|
}
|
|
else {
|
|
console.log("桌面图标已存在!!!!");
|
|
if (onSuccess) {
|
|
onSuccess(true);
|
|
}
|
|
}
|
|
},
|
|
fail: function (err) {
|
|
if (onFail) {
|
|
onFail();
|
|
}
|
|
console.log("判断桌面图标是否存在失败!!!", err);
|
|
for (var key in err) {
|
|
console.log(key, err);
|
|
}
|
|
},
|
|
complete: function () {
|
|
|
|
}
|
|
})
|
|
}
|
|
|
|
} |