1

我是这个论坛和 Android 世界的新手。我刚刚开发了一款名为“Reklamsız Bilgi Yarışması”的单人琐事游戏,仅支持我的本地语言,但在世界各地都可以使用。

我只是按照指南将 AdColony 集成到我的 AdMob 帐户中,并通过测试视频广告获得了完美的结果。

然而,上线后,什么都没有发生。我的许多客户写信给我说他们无法获得广告视频。此外,在 admob 中,我看到发生了 650 个请求,其中只有 4 个收到了视频!

在 AdColony 的统计中,我看到只有 5 个幸运的人请求了视频并观看了完整的视频,然后拿走了他们的奖励。

那么,怎么可能呢?数百个请求,但只有 %0.25 个请求被 AdMob(或 AdColony)回答,我无法理解。

最后,我 98% 的客户来自土耳其,%1 来自阿塞拜疆,%1 来自德国。

编码中是否有任何可能的错误?因为我在我的物理设备上看到了测试广告,而不是在模拟器上。

谢谢你 !

<<<<<<<<<<<< 在清单中>>>>>>>>>>>>>>

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

 <activity
        android:name="com.google.android.gms.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
        android:theme="@android:style/Theme.Translucent" />

    <activity android:name="com.jirbo.adcolony.AdColonyOverlay"
        android:configChanges="keyboardHidden|screenSize"
        android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />

    <activity android:name="com.jirbo.adcolony.AdColonyFullscreen"
        android:configChanges="keyboardHidden|screenSize"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />

    <activity android:name="com.jirbo.adcolony.AdColonyBrowser"
        android:configChanges="keyboardHidden|screenSize"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />

我认为清单中有所有需要的代码

<<<<<<<<<>>>>>>>>>>>>

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.google.android.gms:play-services-ads:9.8.0'
compile 'com.google.firebase:firebase-core:9.8.0'
}


apply plugin: 'com.google.gms.google-services'

在 Libs 中,我有“Adcolony *jar”

<<<<<<<<<<< 在Java中>>>>>>>>>>>>>

import com.jirbo.adcolony.AdColony;
import com.jirbo.adcolony.AdColonyAdapter;
import com.jirbo.adcolony.AdColonyBundleBuilder;
import com.jirbo.adcolony.*;
import com.google.ads.mediation.admob.AdMobAdapter;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardItem;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;

public class oyunsonu extends Activity implements RewardedVideoAdListener{
// I Have those implementation with the importations stated above


private static final String AD_UNIT_ID = "xxxxxxxx";
private static final String APP_ID = "xxxxxxxx";
private static final String LOGTAG = "GMS";
private boolean mIsRewardedVideoLoading;
private RewardedVideoAd mRewardedVideoAd2;
private final Object mLock = new Object();

  @Override
    protected void onCreate (Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.oyunsonu);
checkGooglePlayServicesAvailable();

    MobileAds.initialize(this, APP_ID);

    mRewardedVideoAd2 = MobileAds.getRewardedVideoAdInstance(this);
    mRewardedVideoAd2.setRewardedVideoAdListener(this);
    loadRewardedVideoAd();



}

 private void loadRewardedVideoAd() {
    synchronized (mLock) {
        if (!mIsRewardedVideoLoading && !mRewardedVideoAd2.isLoaded()) {

            mIsRewardedVideoLoading = true;
            Bundle extras = new Bundle();
            extras.putBoolean("_noRefresh", true);
            AdRequest adRequest = new     AdRequest.Builder().addNetworkExtrasBundle(AdColonyAdapter.class, extras)
                    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
                    .build();
            mRewardedVideoAd2.loadAd(AD_UNIT_ID, adRequest);

        }
    }
}

private void showRewardedVideo() {
    if (mRewardedVideoAd2.isLoaded()) {
        mRewardedVideoAd2.show();
    }
}

private boolean checkGooglePlayServicesAvailable()
{
    final int status =     GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext())    ;
    if (status == ConnectionResult.SUCCESS)
    {
        return true;
    }

    Log.e(LOGTAG, "Google Play Services not available: " + GooglePlayServicesUtil.getErrorString(status));

    if (GooglePlayServicesUtil.isUserRecoverableError(status))
    {
        final Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(status, this, 1);
        if (errorDialog != null)
        {
            errorDialog.show();
        }
    }

    return false;
}


@Override
public void onRewardedVideoAdLeftApplication() {

}

@Override
public void onRewardedVideoAdClosed() {
    loadRewardedVideoAd();
}

@Override
public void onRewardedVideoAdFailedToLoad(int errorCode) {
    mIsRewardedVideoLoading = false;
    Toast.makeText(this, "Sunucu Kaynaklı Hata! Ödüllü Reklam Mevcut Değil!", Toast.LENGTH_SHORT).show();
    reklamizlex.setVisibility(View.INVISIBLE);
}

@Override
public void onRewardedVideoAdLoaded() {
    mIsRewardedVideoLoading = false;
    reklamizlex.setVisibility(View.VISIBLE);
}

@Override
public void onRewardedVideoAdOpened() {

}

@Override
public void onRewarded(RewardItem reward) {

    rekflag = 1;
    yenidenoyna.setBackgroundResource(R.drawable.butonbosgri);
    anamenuyegit.setBackgroundResource(R.drawable.butonbosgri);
    reklamizlex.setBackgroundResource(R.drawable.butonbosgri);
    final Intent yenidenoynamakr = new Intent(getApplicationContext(), sorulars.class);
    yenidenoynamakr.putExtra("rekdurumu", rekflag);
    yenidenoynamakr.putExtra("sonskorx", sonskorz);
    yenidenoynamakr.putExtra("katsec", katdurumu);
    yenidenoynamakr.putExtra("ajdurumu", ajsay);
    yenidenoynamakr.putExtra("yydurumu", yysay);
    yenidenoynamakr.putExtra("sdegdurumu", dsay);
    yenidenoynamakr.putExtra("ssaydurumu", ssay);
    yenidenoynamakr.putExtra("jokkodurumu", jokko);
    startActivity(yenidenoynamakr);

}

@Override
public void onRewardedVideoStarted() {

}

}

这是我使用的所有代码,它们是关于“激励视频广告”的

4

1 回答 1

0

我无法解决问题,但我认为它是由 AdColony 引起的。因为 7 人可以看到直播广告,其他人收到警告为“RewardedVideoFailedtoLoad”。我认为 AdColony 限制了我的广告浏览量,因为我的应用现在只有 2.500 次点击,而且几乎 99% 存在于土耳其。可能是关于位置和下载数量。我刚刚使用 Chartboost 更新了我的游戏。

于 2016-11-11T09:43:44.137 回答