2016-11-14 12 views
1

Ich verwende Firebase zum Empfangen von Push-Benachrichtigungen. Mein Problem ist, dass ich eine Option für Benutzer verfügbar machen möchte, wo sie diese Benachrichtigungen deaktivieren können.FirebaseMessagingService programmgesteuert deaktivieren

<application android:label="MyApp" android:theme="@android:style/Theme.NoTitleBar" android:icon="@drawable/ico_myapp_application"> 
    <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" /> 
    <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND"> 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
      <category android:name="${applicationId}" /> 
     </intent-filter> 
    </receiver> 
    <!-- END Manual Firebase Additions --> 
</application> 

Gibt es eine Möglichkeit, die App aus dem Register/Erstellen der FirebaseMessagingService zu verhindern?

+3

Was passiert, wenn Sie Optionen für Benutzer von Ihrem Firebase Thema Abmelden machen, würden sie immer die Benachrichtigungen stoppen. Es sei denn, Sie senden es direkt an ihre ID –

+0

einfachste Lösung, die ich nicht berücksichtigt habe. Vielen Dank! – user1519979

+1

@ HtmlTosin Sie sollten das als Antwort hinzufügen. :) –

Antwort

2

Sie können Optionen für Benutzer zum Abmelden von Ihrem Firebase-Thema machen, sie würden aufhören, die Benachrichtigungen zu erhalten. Es sei denn, Sie senden es direkt an seine ID.

FirebaseMessaging.getInstance().subscribeToTopic("news"); 

und dann abmelden Benutzer

FirebaseMessaging.getInstance().unsubscribeFromTopic("news"); 
Verwandte Themen