2016-12-16 8 views
0

私はOneSignalプッシュ通知を使用します。アンドロイドアプリがフォアグラウンドにあり、通知を受け取ると、通知付きのアラートボックスが作成されます。通知の受信時にこれが表示されないようにするにはどうすればよいですか?受信したOneSignal通知の警告を防止するにはどうすればよいですか?

+0

レシーバはアクティビティ内で実装されていますか?それが問題なのかもしれません。受信機を別のクラスにしてみてください。 –

+1

ここでは、ios [リンク]に関する同様の質問です(http://stackoverflow.com/questions/40165840/how-do-i-prevent-alert-when-app-is-on-foreground-with-incoming-onesignal- push-no?rq = 1)デフォルトでアラートが生成されるので、いくつかのオプションを無効にすることで解決できると思います。 – user3671635

答えて

0

From the SDK documentation - OneSignalを開始するときに、InFocusDisplayingを "None"で呼び出して、OneSignalのアプリAlertBoxを無効にしてください。

NotificationReceivedHandlerセクションにも

-

重要な行動のメモ - 通知を受信したときに、アプリAlertBoxにOneSignalのを無効にするには、なしで inFocusDisplayingを呼び出すことを確認してアプリ メッセージに独自のものを表示する場合。

0

私は同様の問題を持っていたし、私はここアンドロイドでこれを使用する方法ですinFocusDisplaying

を使用して、それを解決しました。

public class MyApplicationClass extends Application { 

private static Context context; 
PlayerIdsession session; 

public static Context getContext() { 
    return context; 
} 

@Override 
public void onCreate() { 
    super.onCreate(); 
    context = getApplicationContext(); 
    //MyNotificationOpenedHandler : This will be called when a notification is tapped on. 
    //MyNotificationReceivedHandler : This will be called when a notification is received while your app is running. 
    OneSignal.startInit(this) 
      .setNotificationOpenedHandler(new MyNotiOpenedHandler()) 
      .setNotificationReceivedHandler(new MyNotiReceivedHandler()) 
      .inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification) 
      .init(); 

    OneSignal.idsAvailable(new OneSignal.IdsAvailableHandler() { 
     @Override 
     public void idsAvailable(String userId, String registrationId) { 

      if (userId != null){ 
       session=new PlayerIdsession(context); 
       session.savePlayerId(userId); 
       Log.d("debug", "PlayerId:" + userId); 
      } 

      /* if (registrationId != null){ 
       Log.d("debug", "registrationId:" + registrationId); 
     }*/ 

     } 
    }); 
} 
} 
関連する問題