アプリを使用するには、アプリでユーザーに登録してログインする必要があります。私はFirebase authを使ってユーザを認証しています。問題は、ユーザーがアプリをダウンロードしてログインしていない場合、他のユーザーから送信されたプッシュ通知を受信することです。ユーザーは、ログインしている場合にのみ、アプリに関連する通知を受け取る必要があります。これは、アプリがダウンロードされた直後にトークンが生成されて保存されるために起こります。ユーザーがログインしている場合のみトークンを生成できますか? これは私が使用しようとしたが、トークンが全く生成されていないコードです:ユーザーがログインしたときにトークンを生成する方法は?
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
public void onTokenRefresh() {
final String recent_token = FirebaseInstanceId.getInstance().getToken();
Log.d(REG_TOKEN, recent_token);
//databaseReference = FirebaseDatabase.getInstance().getReference().child("Blog");
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (firebaseAuth.getCurrentUser() != null) {
if(recent_token!=null)
Log.d(REG_TOKEN, recent_token);
else if(recent_token==null)
onTokenRefresh();
}
}
};
}}
実際には、私のアプリをダウンロードするすべてのデバイスは、自分のアプリに関連するすべてのものに関する通知を得ることができればよいと思います。単にアプリをダウンロードしても、通知は提供されません。あなたがログインしていない限り、Facebookと同じです。あなたは通知を受け取ることはありません。 –
トピックの購読は、私の目的にはあまり役立ちません。しかし、とにかくあなたの提案に感謝します。 –