【发布时间】:2017-01-18 18:37:32
【问题描述】:
当我使用 Google Firebase 进行推送通知时,我想将 Instance Token 保存到 SharedPreferences。不幸的是,每当令牌被刷新并想要检查来自SharedPreferences 的前一个令牌时,它们都是空的......
是因为我在这里使用Service吗?
public class MyFirebaseIIDService : FirebaseInstanceIdService
{
public override void OnTokenRefresh()
{
var sharedPreferences = PreferenceManager.GetDefaultSharedPreferences(this);
var sharedPreferencesEditor = sharedPreferences.Edit();
// Get Firebase Instance Token
var refreshedToken = FirebaseInstanceId.Instance.Token;
// Check if a Firebase Instance Token has been registered before and unregister it
var oldToken = sharedPreferences.GetString("FirebaseInstanceToken", null);
if (oldToken != null) // is ALWAYS null :(
{
// Unregister old token...
}
// Save the Firebase Instance Token locally
sharedPreferencesEditor.PutString("FirebaseInstanceToken", refreshedToken);
sharedPreferencesEditor.Apply();
// At this point, the SharedPreferences have to token saved.
// Next time, the app reaches this point, it is gone...
}
}
抱歉语法混乱,我使用 Xamarin,所以这是 C#,但它应该没有任何区别。
【问题讨论】:
标签: firebase service xamarin.android sharedpreferences firebase-cloud-messaging