不過,或許你會問「如何觸發FirebaseInstanceIdService 中的OnTokenRefresh事件」
官方的回應是安裝,反安裝套件,或是過一段時間會重行配置token
有個不錯的觸發方式可以參考
=======在某個activity中=================
...
...
... 按鈕click事件
btnDeleteToken.Click += delegate (object sender, EventArgs e) {
//注意,deleteFcmInstanace一定要另起執行緒執行,不能在MAIN_THREAD中執行
var th = new System.Threading.Thread(
() => {
deleteFcmInstanace();
}
);
th.Start();
};
...
...
...
void deleteFcmInstanace(){
Firebase.Iid.FirebaseInstanceId.Instance.DeleteInstanceId();
Log.Debug("DONE", "delete token works");
//一定要再InitializeApp,否則取得的token是null的
//以下動作執行後,就會觸發FirebaseInstanceIdService 中的OnTokenRefresh事件
Firebase.FirebaseApp.InitializeApp(this);
var refreshedToken = Firebase.Iid.FirebaseInstanceId.Instance.Token;
}
做這事是有點不實際,只是想要驗證一下罷了,大家應該用不到
不過「好奇心」是所有programmer應該有的吧
沒有留言:
張貼留言