2

Извините за вопрос, это не чисто техника.Does onBackPressed() остановить приложение?

Мы опубликовали наше приложение в Play Маркете. Мы использовали рекламодателя AdBuddiz.

Google приостановил наше приложение, из-за нарушениями следующей политики объявления:

Межстраничных объявления могут отображаться только в приложении, они пришли с. Значительная и доступная цель должна быть доступна для пользователей в любом межстраничном объявлении, чтобы они могли отклонить объявление без штрафных или непреднамеренных кликов.

Что мы сделали в нашем приложении, это показать объявление, когда пользователь находится в основном мероприятии, и нажмите его. Код, который мы используем, является следующим:

public void onBackPressed() { 
    AdBuddiz.showAd(this); 
    super.onBackPressed(); 
} 

Так что вопрос: нарушило ли наше приложение политику? При показе объявления пользовательское нажатие находится внутри приложения. Тем не менее, жизненный цикл активности Android не гарантирует, что после backPress приложение не будет запущено, так как оно должно просто вызвать finish().

Мы собираемся скомпилировать форму Google Appel для восстановления нашего приложения. Предложения будут оценены.

ответ

1

Прежде всего это плохое решение UX, чтобы показать объявление, которое пользователь хочет закрыть.

Кроме того, существует (к сожалению) общий способ сделать двойное обратное нажатие вести себя как реальный выход. Хорошо известное приложение, как 9gag, использует это для предотвращения случайных листьев.

Вы могли бы к тому же, как это:

private boolean mAdShownOnce = false; 

@Override 
public void onBackPressed() { 
    if (mAdshownOnce) { 
     super.onBackPressed(); 
    } else { 
     mAdShownOnce = true; 
     AdBuddiz.showAd(this); 
     mLastBackPressed = System.currentTimeMillis(); 
    } 
} 

Считают, что пользователь может «узнать», что он должен нажать три раза, чтобы закрыть приложение (я думаю, что он может отклонить объявление, нажав назад, правильно?!).

0

super.onBackPressed() будет во многих случаях закрывать приложение. Вы должны удалить эту строку и предоставить свою собственную логику, чтобы убедиться в ее отсутствии.

+0

В какой-то момент вы должны назвать супер, или ваше приложение никогда не закончится! –

+0

Правда. Вместо этого вы можете называть finish() для каждого из ваших действий. Он также убьет приложение. Не говоря уже о том, что Android-спецификации поощряют НЕ прекращать приложение самостоятельно, но оставляя пользователя с кнопкой HOME и позволяя системе делать все завершение, когда это необходимо. – Kelevandos

0

super.onBackPressed(); позволит ОС знать, что приложение больше не работает. И ваше добавление все равно будет там. Вы должны просто отобразить добавление на заднем пульте, а на закрытии - завершить эту операцию.

Смежные вопросы