Это build.gradle:
Код: Выделить всё
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
testOptions {
unitTests.returnDefaultValues = true
}
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable false
}
debug {
debuggable true
jniDebuggable true
minifyEnabled false
shrinkResources false
}
}
}
dependencies {
// Required -- JUnit 4 framework
testCompile 'junit:junit:4.12'
// Optional -- Mockito framework
testCompile 'org.mockito:mockito-core:1.10.19'
compile 'com.google.android.gms:play-services:10.2.0'
compile files('libs/AudenceNetwork-4.24.0.jar')
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:recyclerview-v7:25.0.0'
}
Это фрагмент того, как я загружаю и показываю межстраничные объявления. и вознаграждено:
Код: Выделить всё
com.facebook.ads.InterstitialAd interstitial;
com.facebook.ads.RewardedVideoAd rewarded
public void loadInterstitial() {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
if (interstitial == null) {
interstitial = new com.facebook.ads.InterstitialAd(activity, interstitialAd.getCode());
CustomFacebookInterstitialAdListener interestitialListener = new CustomFacebookInterstitialAdListener(AudienceNetworkAdProvider.this);
interstitial.setAdListener(interestitialListener);
}
interstitial.loadAd();
}
});
}
public void showInterstitial() {
if (isInterstitialAvailable()) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
interstitial.show();
}
});
}
}
public void loadRewardedAd() {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
if (rewarded == null) {
rewarded = new com.facebook.ads.RewardedVideoAd(activity, rewardedAd.getCode());
CustomFacebookRewardedAdListener rewardedListener = new CustomFacebookRewardedAdListener(AudienceNetworkAdProvider.this);
rewarded.setAdListener(rewardedListener);
}
rewarded.loadAd();
}
});
}
public void showRewardedAd() {
if (isRewardedAdAvailable()) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
rewarded.show();
}
});
}
}
Код отлично работает в собственном тестовом приложении Android.
Я адаптирую Unity, чтобы можно было показывать рекламу в игре. Однако каждый раз, когда я хочу показать рекламу, приложение случайно вылетает. В большинстве случаев мне удается увидеть одно межстраничное объявление или вознаграждение, но после этого происходит сбой.
Вот как выглядит моя папка «Плагины/Android»:
Код: Выделить всё
AndroidManifest.xml
appcompat-v7-24.0.0
myaudiencenetworkadapter.aar
play-services-10.0.1.aar
play-services-auth-10.0.1
play-services-auth-base-10.0.1
play-services-basement-10.0.1
play-services-drive-10.0.1
play-services-tasks-10.0.1
recyclerview-v7-24.0.0
support-v4-24.0.0
Происходит сбой при com.facebook.ads Вызывается метод .RewardedVideoAd.show().
Это журнал сбоя:
Код: Выделить всё
08-07 16:51:30.861 16820-16820/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.somepackage.test, PID: 16820
java.lang.Error: FATAL EXCEPTION [main]
Unity version : 5.5.3f1
Device model : samsung SM-G925I
Device fingerprint: samsung/zeroltedv/zerolte:6.0.1/MMB29K/G925IDVS3EQF1:user/release-keys
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.facebook.ads.internal.DisplayAdController.c()' on a null object reference
at com.facebook.ads.RewardedVideoAd.show(Unknown Source)
at com.boxit.ads.facebook.AudienceNetworkAdProvider$3.run(AudienceNetworkAdProvider.java:168)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/455 ... h-on-unity