2016-02-14 19 views
8

反応ネイティブの通知でデバイストークンを取得する方法はありますか?ドキュメントからは、トークンが公開されている唯一の時間がPushNotificationレジスタイベントにあるようです。反応ネイティブのデバイストークンを取得

さらに一般的に、デバイストークンを処理する一般的な方法は何ですか?

1人のユーザーが私のアプリケーションにログインすると、そのアプリケーションはPushNotificationからアクセス権を要求します。その際、登録イベントが発生し、そのデバイスをログインしたユーザーに関連付けることができます。これまでのところ良いですが、そのユーザーがログアウトして、そのアソシエーションを中止して通知を停止すると、別のユーザーがログインしたときに何をしますか?アプリにはすでに権限があるので、登録は再開しません。デバイストークンを新しいユーザーと関連付けるにはどうすればよいですか?

これは間違った考えですか?

答えて

14

registerイベントは、ユーザーがアクセスを許可したときにのみ発生するという問題がありました。 registerイベントは、ユーザーにメッセージが表示されたかどうかにかかわらず、requestPermissionsへの呼び出しに応答して発生します。したがって、アプリケーションのロード時にアクセス権を要求し、registerイベントに応答することで、いつでもデバイスIDを取得できます。同様に:

PushNotificationIOS.addEventListener('register', (token) => { 

    ... store or use the token here ... 

}); 

PushNotificationIOS.requestPermissions(); 
+14

これが他の誰かを助ける場合は... iOSシミュレータでは 'register'イベントが発生しません。これをテストするには、実際のデバイスを使用する必要があります。 – Wireblue

+1

レジスタイベント後にデバイストークンにアクセスする方法はありますか? – chandlervdw

+0

私はそうは思わない。しかし、あなたのアプリケーションが起動するたびに登録イベントが発生するように見えるので、いつでもそれをつかんで、他のコンポーネントが使用するためにどこかに格納することができます。 – nicholas

関連する問題