Luc*_*cky 15 android firebase firebase-cloud-messaging
我刚迁移到FCM.我已经添加了从FirebaseInstanceIdService扩展的类,以便在适当的时候接收refreshedToken.
我的问题是针对用户第一次安装我的应用程序并且由于某种原因无法从onTokenRefresh接收注册ID的情况.我们该如何应对呢?我可以设置从我FirebaseInstanceIdService类的广播接收器在接收到注册ID将通知主要活动?
Eda*_*izi 18
使用以下代码:
@Override
public void onTokenRefresh() {
// Get updated InstanceID token.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.d("FCN TOKEN GET", "Refreshed token: " + refreshedToken);
final Intent intent = new Intent("tokenReceiver");
// You can also include some extra data.
final LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(this);
intent.putExtra("token",refreshedToken);
broadcastManager.sendBroadcast(intent);
}
Run Code Online (Sandbox Code Playgroud)
在您的主要活动中:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
LocalBroadcastManager.getInstance(this).registerReceiver(tokenReceiver,
new IntentFilter("tokenReceiver"));
}
BroadcastReceiver tokenReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String token = intent.getStringExtra("token");
if(token != null)
{
//send token to your server or what you want to do
}
}
};
}
Run Code Online (Sandbox Code Playgroud)
据我所知,只有当您尝试在没有Google Play服务的模拟器上运行您的应用以及在Google Play商店(在您的实际设备上)使用双重电子邮件ID时,令牌才会为空,但仅限于一个电子邮件ID将根据用途进行验证.这些是给你空令牌的情况,我已经在我的新项目中实现了FCM.因此,对于任何情况的其余部分,令牌将不为空.
归档时间: |
|
查看次数: |
37906 次 |
最近记录: |