public void Dispose() { object typeFromHandle = typeof(FirebaseMessaging.Listener); lock (typeFromHandle) { if (FirebaseMessaging.Listener.listener == this) { FirebaseMessaging.SetListenerCallbacks(null, null); FirebaseMessaging.Listener.listener = null; this.app = null; } } }
internal static void CreateOrDestroyListener() { object typeFromHandle = typeof(FirebaseMessaging.Listener); lock (typeFromHandle) { bool flag = FirebaseMessaging.MessageReceivedInternal != null; bool flag2 = FirebaseMessaging.TokenReceivedInternal != null; if (flag || flag2) { FirebaseMessaging.Listener.Create(); } else { FirebaseMessaging.Listener.Destroy(); } FirebaseMessaging.SetListenerCallbacksEnabled(flag, flag2); if (flag || flag2) { FirebaseMessaging.SendPendingEvents(); } } }
private Listener() { FirebaseMessaging.SetListenerCallbacks(this.messageReceivedDelegate, this.tokenReceivedDelegate); }
public static void Unsubscribe(string topic) { FirebaseMessaging.SubscribeAsync(topic); }