App rejeté par le Google Play pour policy violation

Fermé
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 - Modifié le 11 févr. 2019 à 11:51
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 - 14 févr. 2019 à 14:29
Bonjour,
J'ai mis une application sur le Play Store, mais Google l'a rejeté et m'a envoyé ce message:

Publishing status: Rejected.
After review, your app has been rejected and wasn't published due to a policy violation. If you submitted an update, the previous version of your app is still available on Google Play.
Reasons of violation
Issue: Violation of Device and Network Abuse policy
We don’t allow apps that interfere with, disrupt, damage, or access in an unauthorized manner the user’s device, other devices or computers, servers, networks, application programming interfaces (APIs), or services, including but not limited to other apps on the device, any Google service, or an authorized carrier’s network.

Your app shouldn’t access or use the service or API in a manner that violates its terms of service. For example, your app shouldn't download, monetize, or access YouTube videos in a way that violates the YouTube Terms of Service


PS: J'ai des vidéos Youtube et des ads dans mon app et merci d'avance de me donner une solution
A voir également:

5 réponses

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 11 févr. 2019 à 14:14
Salut guineeguinee,

Tu as peut-être le même problème que la personne ayant proposé cette réponse sur SO :

https://stackoverflow.com/questions/41311473/how-to-fix-the-device-and-network-abuse-policy-issue-in-google-play-store-app-su/43062218#43062218

Je cite la réponse de Darshn :

(...) I got same reply from google. I couldn't figure out what is the issue. So I emailed them to elaborate the issue rather than telling in general. The issue was, I was displaying banner ad while playing video. This violates their youtube policy. I removed the banner ad when video plays and uploaded the apk again. They accepted the apk this time.

You can always mail google asking about the issue, they will respond back in 1-2 days.

Hope it helps some people.


Donc, le premier conseil est de demander à Google la raison précise.

Et si ton application affiche simultanément "(...) des vidéos Youtube et des ads (...)" comme tu sembles le dire, tu peux essayer, comme l'a fait Darshn, de modifier ton application pour ne pas afficher les publicités pendant que les vidéos sont jouées.

Dal
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
11 févr. 2019 à 14:35
Par contre, moi je n'ai pas de banner, mais un intersticiel, je ne sais pas si c'est pareil.
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
11 févr. 2019 à 16:04
En plus, j'ai une autre application exactement pareil, une webview avec des vidéos Youtube, un banner et un autre ad, pourtant celle là marche bien, Google l'avait retirée mais c'était à cause du manque de lien vers une politique de confidentialité, une fois réglée, elle est de nouveau dans le store.
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
11 févr. 2019 à 17:20
Lis https://developers.google.com/youtube/terms/developer-policies, le G. 1. c) et d) ...

Le d) leur donne un pouvoir d'apprécier si, en gros, ta page a un contenu propre suffisant pour justifier la présence de pubs (quelque soit le procédé) avec une valeur suffisante, ou si tu n'as aucun autre contenu réel, ou que tu te contentes de mettre du contenu bidon ou de faible valeur selon leur appréciation et que ta pub, selon eux, est seulement destinée à profiter du pouvoir attractif de la vidéo YouTube à leur détriment, puisqu'ils vendent, eux-mêmes des publicités sur ces vidéos.

Je t'ai juste donné un exemple de ce qui pourrait concerner ton cas en le rapprochant des éléments d'information que tu as fournis.

Peut-être qu'une de tes applications a du contenu propre qu'ils considèrent justifiable, et l'autre pas, je n'en sais rien.

Comme suggéré ci-dessus, demande leur précisément pour quelle raison ton application a été rejetée, tout en disant que tu veux bien la mettre en conformité, mais que tu ne sais pas ce qu'ils voudraient que tu changes précisément.

Google fait la loi et ils sont toujours d'accord avec eux-même , même lorsque certaines applications échappent à leur vigilance, ou qu'ils changent d'avis du jour au lendemain...
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
11 févr. 2019 à 17:54
vraiment, "Google fait la loi", je leur ai envoyé un message j'attends leur réponse.
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
12 févr. 2019 à 10:36
Google m'a répondu et m'a envoyé une réponse claire, et apparemment mes videos Youtube jouent en background.

During review, we found that your app violates Device and Network Abuse policy by enabling background play of YouTube videos.

For example to illustrate background play is when the audio of a YouTube video continues to play even after the user has navigated away from the page containing that video. (ex: your app continues to play videos when the device is in lock screen mode.)


Y'a t-il une solution simple pour désactiver cela ?
0
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 844
Modifié le 12 févr. 2019 à 10:56
Bonjour,

Vous avez juste a coder ce que Google vous demande de faire... Stopper la vidéo quand le téléphone est lock par exemple, ou pas laisser la vidéo tourner en fond ...
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
12 févr. 2019 à 11:14
Je viens de tout vérifier, mes vidéos ne jouent pas en arrière-plan, quand je lance une vidéo à partir de l'application et que je lock mon smartphone avec le bouton ON/OFF, ou j'appuie sur le bouton home, la vidéo arrête de jouer, je ne comprends donc pas d'où Google sort cette lecture en arrière-plan.
0
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 844
12 févr. 2019 à 11:18
Pour faire simple, une vidéo youtube ne doit être jouer UNIQUEMENT quand elle est en premier plan, tu peux pas te servir d'un audio Youtube pour servir un bandeau par exemple. C'est ce que je comprend du message de Google.
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
12 févr. 2019 à 11:22
C'est exactement ça, mes vidéos ne jouent que quand je suis sur la page de la vidéo, dès que je change de page dans l'app, la vidéo s'arrête.
Voici mon code Java pour plus d'infos
package com.defte.fouta;

import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

import com.github.clans.fab.FloatingActionButton;
import com.github.clans.fab.FloatingActionMenu;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;


public class MainActivity extends AppCompatActivity {

InterstitialAd minterstitialAd;
private InterstitialAd interstitial;
private WebView mWebview;
private ProgressBar pb;
FloatingActionMenu materialDesignFAM;
FloatingActionButton floatingActionButton1, floatingActionButton2;

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

AdRequest adRequest = new AdRequest.Builder().build();
// Prepare the Interstitial Ad
interstitial = new InterstitialAd(MainActivity.this);
// Insert the Ad Unit ID
interstitial.setAdUnitId(getString(R.string.interstitial_id));


interstitial.loadAd(adRequest);
// Prepare an Interstitial Ad Listener
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
// Call displayInterstitial() function
displayInterstitial();
}
});


materialDesignFAM = (FloatingActionMenu) findViewById(R.id.social_floating_menu);
floatingActionButton1 = (FloatingActionButton) findViewById(R.id.fabFb);
floatingActionButton2 = (FloatingActionButton) findViewById(R.id.fabTw);


floatingActionButton1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//TODO something when floating action menu first item clicked
Intent facebookIntent = getOpenFacebookIntent(MainActivity.this);
startActivity(facebookIntent);

}
});
floatingActionButton2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//TODO something when floating action menu second item clicked
Intent twitterIntent = getOpenTwitterIntent(MainActivity.this);
startActivity(twitterIntent);

}
});

Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar2);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("");


pb = (ProgressBar) findViewById(R.id.pb);

mWebview = (WebView) findViewById(R.id.wv1);
WebSettings webSettings = mWebview.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebview.loadUrl("http://www.deftefouta.wordpress.com");
mWebview.setWebViewClient(new WebViewClient());
mWebview.getSettings().setSupportZoom(true);
mWebview.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
mWebview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
mWebview.getSettings().setAppCacheEnabled(true);
mWebview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webSettings.setDomStorageEnabled(true);
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
webSettings.setUseWideViewPort(true);
webSettings.setSavePassword(true);
webSettings.setSaveFormData(true);
webSettings.setEnableSmoothTransition(true);
mWebview.setScrollbarFadingEnabled(true);


mWebview.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
pb.setProgress(progress);
}
});
mWebview.setWebViewClient(new WebViewClient() {

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
pb.setVisibility(View.VISIBLE);


}



@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}

@Override
public void onPageFinished(WebView view, String url) {

pb.setVisibility(View.GONE);
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mMenuInflater = getMenuInflater();
mMenuInflater.inflate(R.menu.my_menu, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.home:
Intent home = new Intent(this, MainActivity.class);
startActivity(home);
this.finish();
return true;
case R.id.refresh:
mWebview.reload();
return true;

default:
return super.onOptionsItemSelected(item);
}
}

@Override
public void onBackPressed() {
if (mWebview.canGoBack()) {
mWebview.goBack();
} else {
super.onBackPressed();
}
}


public static Intent getOpenFacebookIntent(Context context) {

try {
context.getPackageManager()
.getPackageInfo("com.facebook.katana", 0); //Checks if FB is even installed.
return new Intent(Intent.ACTION_VIEW,
Uri.parse("fb://page/654801614571847")); //Trys to make intent with FB's URI
} catch (Exception e) {
return new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.facebook.com/deftefouta")); //catches and opens a url to the desired page
}
}

public static Intent getOpenTwitterIntent(Context context) {

try {
context.getPackageManager()
.getPackageInfo("com.twitter.android", 0); //Checks if Twitter is even installed.
return new Intent(Intent.ACTION_VIEW,
Uri.parse("https://twitter.com/deftefouta")); //Trys to make intent with Twitter's's URI
} catch (Exception e) {
return new Intent(Intent.ACTION_VIEW,
Uri.parse("https://twitter.com/deftefouta")); //catches and opens a url to the desired page
}
}

public void displayInterstitial(){
// SI l'Ad est chargé, l'afficher, sinon ne rien afficher
if(interstitial.isLoaded()) {
interstitial.show();
}
}
}

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
14 févr. 2019 à 12:59
Il n y a personne là pour me donner une solution ?
0
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 844
14 févr. 2019 à 14:27
Je ne peux pas vous aider en développement mobile, peut-etre que quelqu'un viendra analyser votre code:)
0
guineeguinee Messages postés 191 Date d'inscription jeudi 8 décembre 2016 Statut Membre Dernière intervention 30 août 2023 38
14 févr. 2019 à 14:29
d'accord merci
0