kandi background
kandi background
Explore Kits
kandi background
Explore Kits
This is related to Messaging

Popular New Releases in Messaging

dubbo

dubbo-3.0.7

taro

chore(release): publish 3.4.7

EventBus

EventBus 3.3.1

celery

5.2.6

python-telegram-bot

v13.11

dubbo

dubbo-3.0.7

taro

chore(release): publish 3.4.7

EventBus

EventBus 3.3.1

celery

5.2.6

python-telegram-bot

v13.11

Popular Libraries in Messaging

dubbo

by apache java

star image 37142 Apache-2.0

Apache Dubbo is a high-performance, java based, open source RPC framework.

uni-app

by dcloudio javascript

star image 36431 Apache-2.0

uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架

taro

by NervJS typescript

star image 30875 MIT

开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/

EventBus

by greenrobot java

star image 23725 Apache-2.0

Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.

ItChat

by littlecodersh python

star image 21699 NOASSERTION

A complete and graceful API for Wechat. 微信个人号接口、微信机器人及命令行微信,三十行即可自定义个人号机器人。

kafka

by apache java

star image 21667 Apache-2.0

Mirror of Apache Kafka

celery

by celery python

star image 19164 NOASSERTION

Distributed Task Queue (development branch)

python-telegram-bot

by python-telegram-bot python

star image 18256 NOASSERTION

We have made you a wrapper you can't refuse

PHPMailer

by PHPMailer php

star image 18018 LGPL-2.1

The classic email sending library for PHP

dubbo

by apache java

star image 37142 Apache-2.0

Apache Dubbo is a high-performance, java based, open source RPC framework.

uni-app

by dcloudio javascript

star image 36431 Apache-2.0

uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架

taro

by NervJS typescript

star image 30875 MIT

开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/

EventBus

by greenrobot java

star image 23725 Apache-2.0

Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.

ItChat

by littlecodersh python

star image 21699 NOASSERTION

A complete and graceful API for Wechat. 微信个人号接口、微信机器人及命令行微信,三十行即可自定义个人号机器人。

kafka

by apache java

star image 21667 Apache-2.0

Mirror of Apache Kafka

celery

by celery python

star image 19164 NOASSERTION

Distributed Task Queue (development branch)

python-telegram-bot

by python-telegram-bot python

star image 18256 NOASSERTION

We have made you a wrapper you can't refuse

PHPMailer

by PHPMailer php

star image 18018 LGPL-2.1

The classic email sending library for PHP

Trending New libraries in Messaging

data-science-interviews

by alexeygrigorev html

star image 5065 CC-BY-4.0

Data science interview questions and answers

venom

by orkestral javascript

star image 3775 Apache-2.0

Venom is the most complete javascript library for Whatsapp, 100% Open Source.

fosscord

by fosscord javascript

star image 3576 AGPL-3.0

Fosscord is a free open source selfhostable discord compatible communication platform

LogiKM

by didi java

star image 3451 Apache-2.0

一站式Apache Kafka集群指标监控与运维管控平台

redpanda

by vectorizedio c++

star image 3320

Redpanda is the real-time engine for modern apps. Kafka API Compatible; 10x faster 🚀 See more at redpanda.com

CrewLink

by ottomated typescript

star image 3159 GPL-3.0

Free, open, Among Us Proximity Chat

tmpmail

by sdushantha shell

star image 2789 MIT

A temporary email right from your terminal written in POSIX sh

Logi-KafkaManager

by didi java

star image 2639 Apache-2.0

一站式Apache Kafka集群指标监控与运维管控平台

script-commands

by raycast shell

star image 2351 MIT

Script Commands let you tailor Raycast to your needs. Think of them as little productivity boosts throughout your day.

data-science-interviews

by alexeygrigorev html

star image 5065 CC-BY-4.0

Data science interview questions and answers

venom

by orkestral javascript

star image 3775 Apache-2.0

Venom is the most complete javascript library for Whatsapp, 100% Open Source.

fosscord

by fosscord javascript

star image 3576 AGPL-3.0

Fosscord is a free open source selfhostable discord compatible communication platform

LogiKM

by didi java

star image 3451 Apache-2.0

一站式Apache Kafka集群指标监控与运维管控平台

redpanda

by vectorizedio c++

star image 3320

Redpanda is the real-time engine for modern apps. Kafka API Compatible; 10x faster 🚀 See more at redpanda.com

CrewLink

by ottomated typescript

star image 3159 GPL-3.0

Free, open, Among Us Proximity Chat

tmpmail

by sdushantha shell

star image 2789 MIT

A temporary email right from your terminal written in POSIX sh

Logi-KafkaManager

by didi java

star image 2639 Apache-2.0

一站式Apache Kafka集群指标监控与运维管控平台

script-commands

by raycast shell

star image 2351 MIT

Script Commands let you tailor Raycast to your needs. Think of them as little productivity boosts throughout your day.

Top Authors in Messaging

1

getweapp

86 Libraries

1233

2

apache

65 Libraries

121059

3

TwilioDevEd

40 Libraries

494

4

laravel-notification-channels

34 Libraries

2254

5

GetStream

32 Libraries

3521

6

microsoft

27 Libraries

2625

7

confluentinc

27 Libraries

16029

8

IBM

26 Libraries

1012

9

lensesio

26 Libraries

2587

10

wechaty

26 Libraries

14368

1

86 Libraries

1233

2

65 Libraries

121059

3

40 Libraries

494

4

34 Libraries

2254

5

32 Libraries

3521

6

27 Libraries

2625

7

27 Libraries

16029

8

26 Libraries

1012

9

26 Libraries

2587

10

26 Libraries

14368

Trending Kits in Messaging

Use these Python Machine Learning libraries for developing supervised and unsupervised learning algorithms, data pre-processing and feature extraction tools, deep learning frameworks and more.

 

Following are the top use cases of these shortlisted libraries for Python Machine Learning,

·        Pre-processing of data that includes data cleaning and feature engineering tasks such as normalization, imputation, missing value treatment, and outlier detection.

·        Model selecting and optimizing, such as cross-validation, hyperparameter tuning, and model selection metrics.

·        Visualizations to understand data and results. This includes visualizing data distributions, feature importance, and model performance.

·        Developing algorithms, including supervised learning algorithms (e.g. linear regression, logistic regression, support vector machines, decision trees, random forests, and neural networks) as well as unsupervised learning algorithms (e.g. clustering, dimensionality reduction, and anomaly detection).

·        Calculating performance metrics such as accuracy, precision, recall, and F1 score.

 

The following is a list of the 18 most popular open-source Python libraries for Machine Learning,

Today data has generated constantly, and business needs the latest data to be used for business decisions via intelligent applications. This requires constantly processing data in a streaming fashion to get the lower latency. This will also allow optimum usage of the resources and get the up-to-date data loaded into the systems.

Stream processing involves multiple processing steps in near real-time as the data is produced, transported, and received at the target location. Some examples of such processing requirements processing data in motion are from continuous streams from sensors in IT infrastructure, machine sensors, health sensors, stock trade activities, etc

To create an end-to-end stream processing, you will need components performing different tasks stitched together in a pipeline and workflow.

Streaming

Using the below libraries, you can build you own correct concurrent and scalable streaming applications.

Stream processing engine

The below open-source stream processing framework provide you with stream processing capabilities.

Data Pipeline

Below libraries help in defining both batch and parallel processing pipelines running in a distributed processing backends.

Mailchimp recently agreed to be acquired by Intuit for $12 billion. The company founded by Ben Chestnut and Dan Kurzius in 2001 hit possibly the highest sale amount ever of a privately bootstrapped company, and is an inspiration to all startups on building a company ground up. I found three interesting strategic decisions in Mailchimp’s journey. Mailchimp was one of the earliest providers to introduce micropayments of $5 a month in their early days. Freemium and micropayments have become a template for SaaS today. Secondly, they focused on small businesses, when most tech was geared towards the enterprise. Lastly, they pivoted the company away from just email into social media and marketing. Kudos to Ben and Dan on this fantastic journey. The $12 Billion valuation does indicate a massive potential in Email marketing! Did you know there are over 100,000 libraries in open source for email automation and marketing? You could look to build the next unicorn in email automation! kandi kit for Email Marketing Solutions showcases open source libraries across Email Marketing Automation, Core Email Platforms, Gathering and Processing Email Addresses, and engaging Email Templates.

Email Marketing Automation

Open source and public reusable libraries that automate most parts of Email marketing.

Gathering and Processing Email Addresses

Open source and public reusable libraries that gather and process Email addresses.

Email Platform Libraries

Platforms that implement core Email functions if you are looking to implement a bespoke solution.

Email Templates

Open source and public reusable libraries that provide Email templates to achieve meaningful engagement with customers.

Since the release of Siri in 2011, voice assistants have become a new trend in mobile apps. Most of people think that creating a voice assistant like Siri and Alexa is very complicated, but it is not. So today we will see some of the best Python AI Assistant libraries. An Assistant library is a collection of routines that allow the user to build software. It is an application programming interface (API), which provides building blocks for developing software applications for a specific purpose or multiple purposes. Assistant libraries are not standalone programs. Instead, they are called from programs written in Python or other languages. Build your own Virtual AI assistant with NLP, speech analysis, command retrieval, and more. In this kit, we recommend you some of the best python AI assistant libraries available in 2022 including Mycroft Core - the Mycroft Artificial Intelligence platform; Jarvis - Personal Assistant for Linux and macOS; Kalliope - framework that will help you to create your own personal assistant.

Python has built-in support for sending emails using SMTP protocol. The smtplib module defines an SMTP client session object that can be used to send mail to any Internet machine with an SMTP or ESMTP listener daemon. Python can be used to send an email in a variety of ways: as plain text, with an attached file, or as an HTML/Markdown-formatted email message. There are also several third-party libraries available in the market like: EmailMessage module in Python’s standard library, EmailReplyParser - parse responses from email threads, Flanker - a parsing and validation library written in Python by Mailgun, Mailgun-py - an official and actively maintained Mailgun library for Python. Check 15 best Python Email libraries in 2022 for developers:

An email has become an inevitable method of personal and business communications. Implementing Email API to applications make it fast, cheap, and accessible. Email helps firms as it provides efficient and effective ways to transmit all kinds of electronic data. Small, medium & large-scale businesses use web applications that require constant user inputs and outputs in product launch, manufacturing, customer outreach, and maintenance. Email plays a critical role in providing these inputs and outputs. Email API libraries are available to integrate and make this feature adapt to your web application. You can customize, integrate and implement Email API using reusable libraries.

Automated Email Sender is a powerful tool that is used in new generation marketing technology. Email Automation lets us send the right email to the right people at right time. Automate email sender provides flexibility, reduces the complexity, and saves the precious time of the sender. Email Automation is also been a strong platform and gives strong communication between sender and receiver. Use the following best-in class libraries to create your own automated email sender.

This is spring boot library which is used to service registry

Machine Learning is a type of artificial intelligence that helps in predicting more accurate outcomes without the need for complex or long programming. Machine learning is classified into different types: supervised, unsupervised, semi-supervised, and reinforcement learning. 1) Supervised learning uses binary classification, multi-class classification, and regression to train and model data. 2) Unsupervised used clustering, and KNN to train and model data.

Some of the helpful and interesting libraries to work on in Machine Learning.

Data Analysis and Modelling in ML

Data analysis is a process of cleaning, changing, and modifying data that are relevant for modeling and visualization. Quality data is helpful for efficient modeling and better prediction.

Natural Language Processing

NLP helps computers to communicate with humans in their own language and performs functions with that communication.

Chatbot

These libraries help train chats in text and voice. It uses python and natural language understanding.

Use these Python Machine Learning libraries for developing supervised and unsupervised learning algorithms, data pre-processing and feature extraction tools, deep learning frameworks and more.

 

Following are the top use cases of these shortlisted libraries for Python Machine Learning,

·        Pre-processing of data that includes data cleaning and feature engineering tasks such as normalization, imputation, missing value treatment, and outlier detection.

·        Model selecting and optimizing, such as cross-validation, hyperparameter tuning, and model selection metrics.

·        Visualizations to understand data and results. This includes visualizing data distributions, feature importance, and model performance.

·        Developing algorithms, including supervised learning algorithms (e.g. linear regression, logistic regression, support vector machines, decision trees, random forests, and neural networks) as well as unsupervised learning algorithms (e.g. clustering, dimensionality reduction, and anomaly detection).

·        Calculating performance metrics such as accuracy, precision, recall, and F1 score.

 

The following is a list of the 18 most popular open-source Python libraries for Machine Learning,

Today data has generated constantly, and business needs the latest data to be used for business decisions via intelligent applications. This requires constantly processing data in a streaming fashion to get the lower latency. This will also allow optimum usage of the resources and get the up-to-date data loaded into the systems.

Stream processing involves multiple processing steps in near real-time as the data is produced, transported, and received at the target location. Some examples of such processing requirements processing data in motion are from continuous streams from sensors in IT infrastructure, machine sensors, health sensors, stock trade activities, etc

To create an end-to-end stream processing, you will need components performing different tasks stitched together in a pipeline and workflow.

Streaming

Using the below libraries, you can build you own correct concurrent and scalable streaming applications.

Stream processing engine

The below open-source stream processing framework provide you with stream processing capabilities.

Data Pipeline

Below libraries help in defining both batch and parallel processing pipelines running in a distributed processing backends.

Mailchimp recently agreed to be acquired by Intuit for $12 billion. The company founded by Ben Chestnut and Dan Kurzius in 2001 hit possibly the highest sale amount ever of a privately bootstrapped company, and is an inspiration to all startups on building a company ground up. I found three interesting strategic decisions in Mailchimp’s journey. Mailchimp was one of the earliest providers to introduce micropayments of $5 a month in their early days. Freemium and micropayments have become a template for SaaS today. Secondly, they focused on small businesses, when most tech was geared towards the enterprise. Lastly, they pivoted the company away from just email into social media and marketing. Kudos to Ben and Dan on this fantastic journey. The $12 Billion valuation does indicate a massive potential in Email marketing! Did you know there are over 100,000 libraries in open source for email automation and marketing? You could look to build the next unicorn in email automation! kandi kit for Email Marketing Solutions showcases open source libraries across Email Marketing Automation, Core Email Platforms, Gathering and Processing Email Addresses, and engaging Email Templates.

Email Marketing Automation

Open source and public reusable libraries that automate most parts of Email marketing.

Gathering and Processing Email Addresses

Open source and public reusable libraries that gather and process Email addresses.

Email Platform Libraries

Platforms that implement core Email functions if you are looking to implement a bespoke solution.

Email Templates

Open source and public reusable libraries that provide Email templates to achieve meaningful engagement with customers.

Since the release of Siri in 2011, voice assistants have become a new trend in mobile apps. Most of people think that creating a voice assistant like Siri and Alexa is very complicated, but it is not. So today we will see some of the best Python AI Assistant libraries. An Assistant library is a collection of routines that allow the user to build software. It is an application programming interface (API), which provides building blocks for developing software applications for a specific purpose or multiple purposes. Assistant libraries are not standalone programs. Instead, they are called from programs written in Python or other languages. Build your own Virtual AI assistant with NLP, speech analysis, command retrieval, and more. In this kit, we recommend you some of the best python AI assistant libraries available in 2022 including Mycroft Core - the Mycroft Artificial Intelligence platform; Jarvis - Personal Assistant for Linux and macOS; Kalliope - framework that will help you to create your own personal assistant.

Python has built-in support for sending emails using SMTP protocol. The smtplib module defines an SMTP client session object that can be used to send mail to any Internet machine with an SMTP or ESMTP listener daemon. Python can be used to send an email in a variety of ways: as plain text, with an attached file, or as an HTML/Markdown-formatted email message. There are also several third-party libraries available in the market like: EmailMessage module in Python’s standard library, EmailReplyParser - parse responses from email threads, Flanker - a parsing and validation library written in Python by Mailgun, Mailgun-py - an official and actively maintained Mailgun library for Python. Check 15 best Python Email libraries in 2022 for developers:

An email has become an inevitable method of personal and business communications. Implementing Email API to applications make it fast, cheap, and accessible. Email helps firms as it provides efficient and effective ways to transmit all kinds of electronic data. Small, medium & large-scale businesses use web applications that require constant user inputs and outputs in product launch, manufacturing, customer outreach, and maintenance. Email plays a critical role in providing these inputs and outputs. Email API libraries are available to integrate and make this feature adapt to your web application. You can customize, integrate and implement Email API using reusable libraries.

Automated Email Sender is a powerful tool that is used in new generation marketing technology. Email Automation lets us send the right email to the right people at right time. Automate email sender provides flexibility, reduces the complexity, and saves the precious time of the sender. Email Automation is also been a strong platform and gives strong communication between sender and receiver. Use the following best-in class libraries to create your own automated email sender.

This is spring boot library which is used to service registry

Machine Learning is a type of artificial intelligence that helps in predicting more accurate outcomes without the need for complex or long programming. Machine learning is classified into different types: supervised, unsupervised, semi-supervised, and reinforcement learning. 1) Supervised learning uses binary classification, multi-class classification, and regression to train and model data. 2) Unsupervised used clustering, and KNN to train and model data.

Some of the helpful and interesting libraries to work on in Machine Learning.

Data Analysis and Modelling in ML

Data analysis is a process of cleaning, changing, and modifying data that are relevant for modeling and visualization. Quality data is helpful for efficient modeling and better prediction.

Natural Language Processing

NLP helps computers to communicate with humans in their own language and performs functions with that communication.

Chatbot

These libraries help train chats in text and voice. It uses python and natural language understanding.

Trending Discussions on Messaging

    Error APNS device token not set before retrieving FCM Token for Sender ID
    java.lang.NoSuchMethodError: No virtual method setSkipClientToken(Z)V in class Lcom/facebook/GraphRequest;
    How to register ServiceBusClient for dependency injection?
    uploaded an APK which has an activity,activity alias,service or broadcast receiver with intentfilter, but without 'android : exported' property set
    How to solve FirebaseError: Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore problem?
    Mandatory Consent for Admob User Messaging Platform
    MissingPluginException(No implementation found for method Messaging#requestPermission on channel firebase_messaging
    Error in retrieving notification_key for group messaging in FCM
    Firestore Push Notification "time out" error Notification doesn't always get sent
    Google AdMob new SDK setup for iOS : SKAdNetworkItems, NSUserTrackingUsageDescription, ATTrackingManager. Guideline 5.1.2 - Legal - Privacy - Data Use

QUESTION

Error APNS device token not set before retrieving FCM Token for Sender ID

Asked 2022-Mar-01 at 17:08

I am receiving messages from firebase for notifications with APNs. In firebase, I have the certificate of APNs key, with the same id in the Xcode project in Firebase that is extracted from Apple Developer.

But I don't know why this could be happening and I get this error and it is registering two tokens in the Messaging extension:

1extension AppDelegate : MessagingDelegate {
2  func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {}}
3

APNS device token not set before retrieving FCM Token for Sender ID '########'. Notifications to this FCM Token will not be delivered over APNS.Be sure to re-retrieve the FCM token once the APNS device token is set.

Added what I have in the AppDelegate

1extension AppDelegate : MessagingDelegate {
2  func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {}}
3import Firebase
4import MasivPushIosSdk
5
6@UIApplicationMain
7class AppDelegate: UIResponder, UIApplicationDelegate{
8
9    var firebaseToken: String = ""
10    
11    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
12
13        FirebaseApp.configure()
14        self.registerForFirebaseNotification(application: application)
15        Messaging.messaging().delegate = self
16        return true
17    }
18    
19    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
20        Messaging.messaging().apnsToken = deviceToken
21    }
22
23    func registerForFirebaseNotification(application: UIApplication) {
24        if #available(iOS 10.0, *) {
25            // For iOS 10 display notification (sent via APNS)
26            UNUserNotificationCenter.current().delegate = self
27
28            let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
29            UNUserNotificationCenter.current().requestAuthorization(
30                options: authOptions,
31                completionHandler: {_, _ in })
32        } else {
33            let settings: UIUserNotificationSettings =
34                UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
35            application.registerUserNotificationSettings(settings)
36        }
37
38        application.registerForRemoteNotifications()
39    }
40    
41}
42
43extension AppDelegate: MessagingDelegate, UNUserNotificationCenterDelegate {
44
45//MessagingDelegate
46    func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
47        self.firebaseToken = fcmToken!
48        print("Firebase token: \(fcmToken)")
49    }
50
51    //UNUserNotificationCenterDelegate
52    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
53        print("APNs received with: \(userInfo)")
54     }
55}
56

ANSWER

Answered 2021-Oct-26 at 05:58

This is a simulator only log. You can safely ignore it. The reason you get this is that Firebase tries to create a mapping from the FCM token to the APNS token so it can send the APNS messages to the iOS devices. However, there is no APNS token on the simulator so the mapping fails.

Try testing it on an actual device to see if you still get the error.

Source https://stackoverflow.com/questions/69485088

Community Discussions contain sources that include Stack Exchange Network

    Error APNS device token not set before retrieving FCM Token for Sender ID
    java.lang.NoSuchMethodError: No virtual method setSkipClientToken(Z)V in class Lcom/facebook/GraphRequest;
    How to register ServiceBusClient for dependency injection?
    uploaded an APK which has an activity,activity alias,service or broadcast receiver with intentfilter, but without 'android : exported' property set
    How to solve FirebaseError: Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore problem?
    Mandatory Consent for Admob User Messaging Platform
    MissingPluginException(No implementation found for method Messaging#requestPermission on channel firebase_messaging
    Error in retrieving notification_key for group messaging in FCM
    Firestore Push Notification "time out" error Notification doesn't always get sent
    Google AdMob new SDK setup for iOS : SKAdNetworkItems, NSUserTrackingUsageDescription, ATTrackingManager. Guideline 5.1.2 - Legal - Privacy - Data Use

QUESTION

Error APNS device token not set before retrieving FCM Token for Sender ID

Asked 2022-Mar-01 at 17:08

I am receiving messages from firebase for notifications with APNs. In firebase, I have the certificate of APNs key, with the same id in the Xcode project in Firebase that is extracted from Apple Developer.

But I don't know why this could be happening and I get this error and it is registering two tokens in the Messaging extension:

1extension AppDelegate : MessagingDelegate {
2  func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {}}
3

APNS device token not set before retrieving FCM Token for Sender ID '########'. Notifications to this FCM Token will not be delivered over APNS.Be sure to re-retrieve the FCM token once the APNS device token is set.

Added what I have in the AppDelegate

1extension AppDelegate : MessagingDelegate {
2  func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {}}
3import Firebase
4import MasivPushIosSdk
5
6@UIApplicationMain
7class AppDelegate: UIResponder, UIApplicationDelegate{
8
9    var firebaseToken: String = ""
10    
11    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
12
13        FirebaseApp.configure()
14        self.registerForFirebaseNotification(application: application)
15        Messaging.messaging().delegate = self
16        return true
17    }
18    
19    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
20        Messaging.messaging().apnsToken = deviceToken
21    }
22
23    func registerForFirebaseNotification(application: UIApplication) {
24        if #available(iOS 10.0, *) {
25            // For iOS 10 display notification (sent via APNS)
26            UNUserNotificationCenter.current().delegate = self
27
28            let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
29            UNUserNotificationCenter.current().requestAuthorization(
30                options: authOptions,
31                completionHandler: {_, _ in })
32        } else {
33            let settings: UIUserNotificationSettings =
34