2017-02-04 8 views
0

FCM登録トークンをリフレッシュするのに10秒かかり、非常に好ましくない。私はそれを即座に行うことができます。FCM Docsに従ってこのように生成しています。すぐにFCMトークンを生成する方法はありますか?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

[FIRApp configure]; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tokenRefreshNotification:) name:kFIRInstanceIDTokenRefreshNotification object:nil]; 
} 

その後、

- (void)tokenRefreshNotification:(NSNotification *)notification { 

NSString *refreshedToken = [[FIRInstanceID instanceID] token]; 
NSLog(@"InstanceID token: %@", refreshedToken); 

// Connect to FCM since connection may have failed when attempted before having a token. 

[self connectToFcm]; 

} 

そして私はFirebaseAppDelegateProxyEnabledを使用しています。事前に

おかげで

+0

これを非同期プロセスにすることを検討すると、ユーザーは長い時間待たずにアプリを進めることができます。それに応じてトークンを受け取ることができます(つまり、API経由でバックエンドに送信する) – jokerday

答えて

0

FCMトークンは非同期に発生しています。これを強制的に同期させて強制的に実行する方法はありません。 Firebase Cloud MessagingがtokenRefreshNotificationコールバックを呼び出すのを待たなければなりません。

関連する問題