Я застрял здесь, пытаясь получить токен FCM в своем проекте Xamarin native iOS. Я много исследовал это, но все статьи старые и эти методы устарели. Я попробовал следующий подход, как упомянуто в документах:
https://developers.google.com/instance-id/guides/ios-implementation
private void GetFCMToken(NSData apnsToken)
{
var projectId = "xxxxx"; //from console
var scope = Firebase.InstanceID.InstanceId.ScopeFirebaseMessaging;
var options = new NSDictionary(
new NSString("apns_token"), apnsToken,
new NSString("apns_sandbox"), new NSString("0")
);
Firebase.InstanceID.InstanceId.SharedInstance.GetToken(projectId, scope, options, (string token, NSError err) =>
{
System.Diagnostics.Debug.WriteLine("fcmToken" + token);
Console.WriteLine($"Firebase registration token: {token}");
});
}
Все, что я здесь получаю, это ошибка {The operation couldn’t be completed. (com.firebase.iid error 1006.)}
GetFCMToken () вызывается после получения данных токена APNS в RegisteredForRemoteNotifications
Реализован IMessagingDelegate в AppDelgate:
public void DidReceiveRegistrationToken(Messaging messaging, string fcmToken)
public void DidReceiveMessage(Messaging messaging, RemoteMessage remoteMessage)
Первоначально мне удалось получить токен в первом методе, но он вообще остановился.
Какой подход следует использовать, так как слишком много путаницы и что я делаю неправильно.
Простите за форматирование. Извиняюсь. Заранее спасибо.