Хотите дать как минимум 2 минуты между двумя рекламными вставками - PullRequest
0 голосов
/ 16 апреля 2019

я использую ionic 4 с приложением cordova-plugin-admob-free и создаю элемент списка

При первом щелчке любого элемента появится международное объявление и через 2 минуты другое международное объявление будет показано, когда я нажму любой элемент

home.page.ts

import { Component, OnInit } from '@angular/core';
import { RecipiService } from '../services/recipi.service';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage implements OnInit {

  items: any;
  constructor(private recipiservice:RecipiService){
  }

  ngOnInit(){
    this.recipiservice.getData();
    this.recipiservice.BannerAd();
  }

   showInterstitial(){
    this.recipiservice.InterstitialAd();
   }
}

recipi.service.ts

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { map } from 'rxjs/operators';
import {
  AdMobFree,
  AdMobFreeBannerConfig,
  AdMobFreeInterstitialConfig,
} from '@ionic-native/admob-free/ngx'
import { Platform } from '@ionic/angular'
@Injectable({
  providedIn: 'root'
})
export class RecipiService {
  items: any;
  url = '/assets/resource.json';

  //Interstitial Ad's Configarations
  interstitialConfig: AdMobFreeInterstitialConfig = {
    //add your config
    //for the sake of this example we will just use the test config
    isTesting:true,
    autoShow:false,
    //id: "ca-app-pub-7062962198011740/5161598741"
 };

   constructor(
    private http:HttpClient,
    private admobFree:AdMobFree,
    public platform:Platform
    ) {
      platform.ready().then(() => {
        //Load ad configuration 
        this.admobFree.interstitial.config(this.interstitialConfig);
        //Prepare Ad to show
        this.admobFree.interstitial.prepare()
        .then(() => {
          //alert(1);
        }).catch(e => alert(e));
      });

    //Handle interstitial's close event to Prepare Ad again
    this.admobFree.on('admob.interstitial.events.CLOSE').subscribe(() => {
      this.admobFree.interstitial.prepare();

    });
    }

 BannerAd(){
  let bannerConfig: AdMobFreeBannerConfig = {
    isTesting: true, //Remove in production
    autoShow:true,
    //id: "ca-app-pub-7062962198011740/6309253752"
  };
  this.admobFree.banner.config(bannerConfig);
  this.admobFree.banner.prepare().then(() => {
    //secess
  })//.catch(e => alert(e));
}

InterstitialAd(){
  //Chack if Ad is loaded 

  this.admobFree.interstitial.isReady().then(()=> {
    //will show prepared  Ad
    this.admobFree.interstitial.show().then(()=>{

    })
    //.catch(e => alert("show" + e))
  })
  //.catch(e => alert("isReady" + e))
}

  // get singel data  
  getData(){
    let data: Observable<any> = this.http.get(this.url);
    data.subscribe(results =>{
      // console.log(this.jsons);
        this.items = results;
    })
}

// get full data 
 getDetails(id) {
  let data: Observable<any> = this.http.get(this.url);
   return data
     .pipe(map((items) => {
      return items.find((item) => 
       (item.id == id));

       })
     );
 }
}

Я использую ионный 4. и я делаю приложение элемента списка. Я использую ионный 4. и я делаю приложение элемента списка. Я использую ионный 4. и я делаю приложение элемента списка. Я использую ионный 4. и я делаю приложение из списка элементов.

1 Ответ

0 голосов
/ 16 апреля 2019

Используйте интервал для вызова веб-службы каждые x мин.

//Interval is use to refresh/timeout page, 10000 = 10s
setInterval(data => {
console.log(“test”);
}, 10000);

Возможно, вы бы использовали интервальный метод RxJ. Это даст вам больше возможностей для ответа, чем просто стандартный интервальный вызов JS.

https://www.learnrxjs.io/operators/creation/interval.html

...