Тестирование (Firebase) FCM - PullRequest
       0

Тестирование (Firebase) FCM

0 голосов
/ 01 декабря 2018

Чтобы понять, как использовать Firebase Cloud Messaging, я следую этому документу: https://firebase.google.com/docs/cloud-messaging/admin/send-messages?hl=en-us

Точно я смотрю на этот раздел: Отправить на отдельные устройства

Я вижу в коде, что мне нужно registrationToken .У меня вопрос, как я могу получить его конкретно?

Сначала я хочу отправить сообщение на свой собственный iPhone, лежа на своем столе, а затем на все iPhone зарегистрированных пользователей.

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

Когда я работаю в IOS-Swift, вы должны добавить этот метод в свой файл AppDelegate.swift:

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken:  String) {
    print("Firebase registration token: \(fcmToken)")

    let dataDict:[String: String] = ["token": fcmToken]
    NotificationCenter.default.post(name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict)

    // TODO: If necessary send token to application server.
    // Note: This callback is fired at each app startup and whenever a new token is generated.
}

Если вам нужен прямой доступ к токену, используйте это:

InstanceID.instanceID().instanceID { (result, error) in
   if let error = error {
      print("Error fetching remote instange ID: \(error)")
   } else if let result = result {
     print("Remote instance ID token: \(result.token)")
     self.instanceIDTokenMessage.text  = "Remote InstanceID token: \(result.token)"
   }
  }

Для получения дополнительной информации посетите:

https://firebase.google.com/docs/cloud-messaging/ios/client

0 голосов
/ 01 декабря 2018

При работе с уведомлениями FCM устройства генерируют токены, которые обновляются очень часто, поэтому, если вам нужно отправить push-сообщение на устройство, вы должны знать свой токен, вы должны реализовать класс, который наследует FirebaseMessagingService, и перезаписатьМетод onNewToken, этот метод вызывается в фоновом режиме при каждом обновлении токена устройства.

/**
* Called if InstanceID token is updated. This may occur if the security of
* the previous token had been compromised. Note that this is called when the     InstanceID token
* is initially generated so this is where you would retrieve the token.
*/
@Override
public void onNewToken(String token) {
Log.d(TAG, "Refreshed token: " + token);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // Instance ID token to your app server.
    sendRegistrationToServer(token);
}

Рекомендуется отправлять этот токен на ваш сервер, чтобы оттуда вы могли отправлять push-сообщения на устройства с зарегистрированными токенами.Если вы хотите использовать первый токен, вы можете использовать:

FirebaseInstanceId.getInstance().getInstanceId();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...