Статистика приложения

S
На сайте с 11.06.2023
Offline
28
507

Статистика одного приложения почему так мало показов, люди без интернета пользуются? Как мне поысить показы ?

У меня последняя версия com.yandex.android:mobileads:7.6.0!

25 нояб. 2024, пн

App: Баннер
377,04 ₽
50 049 запросов
5 618 показов
25 нояб. 2024, пн
App: Полноэкранный
105,97 ₽
6 505  запросов
295  показов





S
На сайте с 11.06.2023
Offline
28
#1
Посмотри на стату баннера 
50 049 запросов
5 618 показов

У меня вопрос почему такой коэффициент!

SR
На сайте с 17.01.2021
Offline
124
#2
Интересно стало, а как они нагревают разрабов приложений? Ботов же не загонишь в приложухи, просто пишут цифры от балды, чтобы потом такие как тсы удивлялись цифрам?
Тот самый
F
На сайте с 11.12.2016
Offline
64
#3
Sermyagin #:
Посмотри на стату баннера 
50 049 запросов
5 618 показов

У меня вопрос почему такой коэффициент!

Покажите свой код вызова рекламы. Скорее всего проблема в том, что когда Активити не активна вы продолжаете дальше отправлять запросы на рекламу, но она не отображается на Активити, которое уже закрыто.

S
На сайте с 11.06.2023
Offline
28
#4
package com;

import androidx.multidex.MultiDexApplication;
import com.yandex.mobile.ads.common.MobileAds;

public class MyApplication extends MultiDexApplication {

@Override
public void onCreate() {
super.onCreate();

// Check if the ad-free status is set
boolean isAdFree = getSharedPreferences(KEY.SHARED_PREFERENCES_PURCHASES, MODE_PRIVATE)
.getBoolean(KEY.IS_ADFREE_KEY, false);

if (!isAdFree) {
// Initialize Yandex Mobile Ads SDK only if not ad-free
MobileAds.initialize(this, () -> {});
}
}
}

вот код 

package com.view.ads;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Handler;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.RelativeLayout;

import com.KEY;
import com.R;
import com.yandex.mobile.ads.common.AdRequest;
import com.yandex.mobile.ads.banner.BannerAdSize;
import com.yandex.mobile.ads.banner.BannerAdView;
import com.yandex.mobile.ads.common.InitializationListener;

import java.util.Timer;
import java.util.TimerTask;

public class MyAdsController {

private static Timer bannerRefreshTimer;
private static Handler handler = new Handler();
private static Runnable networkCheckRunnable;

// Define the InitializationListener
private static final InitializationListener initializationListener = new InitializationListener() {
@Override
public void onInitializationCompleted() {
// Empty implementation, no specific actions required.
}

// @Override
// public void onInitializationFailed(String error) {
// Add your code here for what to do when initialization fails.
// }
};

public static void setAdsVisibility(Activity activity) {
SharedPreferences sharedPreferences = activity.getSharedPreferences(KEY.SHARED_PREFERENCES_PURCHASES, Context.MODE_PRIVATE);
boolean isAdFree = sharedPreferences.getBoolean(KEY.IS_ADFREE_KEY, false);

RelativeLayout adContainer = activity.findViewById(R.id.adView_container);
if (isAdFree) {
// Hide the ad container if the user has purchased an ad-free version
adContainer.setVisibility(View.GONE);
} else {
// Show the ad container otherwise
adContainer.setVisibility(View.VISIBLE);
// Load and display ads if visible
showBannerAds(activity);
}
}

public static void handleInterstitialAds(final Activity activity) {
// Your code to handle interstitial ads
}

public static void showBannerAds(final Activity activity) {
RelativeLayout layout = activity.findViewById(R.id.adView_container);
if (layout != null) {
BannerAdView adView = new BannerAdView(activity);
BannerAdSize adSize = getAdSize(activity);
adView.setAdSize(adSize);
adView.setAdUnitId("R-M-2631210-1"); // Set your ad unit ID

layout.removeAllViews(); // Clear previous ads if any
layout.addView(adView);
adView.loadAd(getAdRequest());

startBannerRefreshTimer(activity, adView);
}
}

private static AdRequest getAdRequest() {
return new AdRequest.Builder().build();
}

private static BannerAdSize getAdSize(Context context) {
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
int screenWidth = displayMetrics.widthPixels;

// Set the banner height manually (e.g., 50dp)
int bannerHeightDp = 45;
int bannerHeightPx = (int) (bannerHeightDp * displayMetrics.density);
return BannerAdSize.inlineSize(context, screenWidth, bannerHeightPx);
}

private static void startBannerRefreshTimer(final Activity activity, final BannerAdView adView) {
if (bannerRefreshTimer != null) {
stopBannerRefreshTimer();
}

bannerRefreshTimer = new Timer();
bannerRefreshTimer.schedule(new TimerTask() {
@Override
public void run() {
activity.runOnUiThread(() -> refreshBanner(adView));
}
}, 31000, 31000); // Refresh every 31 seconds
}

private static void refreshBanner(BannerAdView adView) {
adView.loadAd(getAdRequest());
}

public static void stopBannerRefreshTimer() {
if (bannerRefreshTimer != null) {
bannerRefreshTimer.cancel();
bannerRefreshTimer = null;
}
}

public static void releaseAdsCallbacks() {
stopBannerRefreshTimer();
}

public static void releaseAds_Callbacks() {
if (handler != null) {
handler.removeCallbacksAndMessages(null);
}
}

public static void listenNetworkChangeToRequestAdsFull(Activity activity) {
if (networkCheckRunnable == null) {
networkCheckRunnable = new RCheckNetworkLoadAdsInterstitial(activity);
}

handler.post(networkCheckRunnable);
}

static class RCheckNetworkLoadAdsInterstitial implements Runnable {
private final Activity activity;

public RCheckNetworkLoadAdsInterstitial(Activity activity) {
this.activity = activity;
}

@Override
public void run() {
if (CheckInternet.isNetworkAvailable(activity)) {
setAdsVisibility(activity);
}

handler.postDelayed(this, 31000); // Check network status every 31 seconds
}
}
}

и xml 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom|center"
android:background="#ffffff"
android:orientation="vertical">



<RelativeLayout
android:id="@+id/adView_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
></RelativeLayout>


</LinearLayout>

во всем приложении баннер внизу обновление каждые 31 секунд.

F
На сайте с 11.12.2016
Offline
64
#5
Sermyagin #:

вот код 

и xml 

во всем приложении баннер внизу обновление каждые 31 секунд.

Не думали, что TimerTask у вас продолжает работать в первом активити, когда вы переходите в другое активити? Поэтому продолжают идти запросы, подборы, но реклама не может отобразиться на неактивном активити. 

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий