我正在尝试让Firebase在Vuzix Blade上的Unity项目中运行,以便在那里接收推送通知。然而,OnTokenReceived回调从未被调用过,所以我没有得到任何令牌来处理推送通知。
Vuzix Blade在Android 5上运行,我已经安装了Google Play Services和Google Play Store,因为它们不是默认安装的,而是Firebase需要的。Firebase.DependencyStatus.Available似乎正常启动,或者至少我在logcat上没有得到任何错误消息,并且Firebase正确地以Firebase结束。
同样的apk在我的安卓手机(OnePlus 5)上运行得很好,我可以得到一个令牌,并且可以在应用运行时和后台接收通知。
我使用的是Unity 2018.3和Firebase SDK 5.7.0 (但结果与5.6.0相同)。
private void Awake()
{
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(
task =>
{
var dependencyStatus = task.Result;
if ( dependencyStatus == Firebase.DependencyStatus.Available ) // this is always true
{
// Create and hold a reference to your FirebaseApp,
// where app is a Firebase.FirebaseApp property of your application class.
m_kFirebaseApp = Firebase.FirebaseApp.DefaultInstance;
// Set a flag here to indicate whether Firebase is ready to use by your app.
Firebase.Messaging.FirebaseMessaging.TokenRegistrationOnInitEnabled = true;
Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
}
else
{
Debug.LogError(string.Format("Could not resolve all Firebase dependencies: {0}", dependencyStatus ) );
// Firebase Unity SDK is not safe to use here.
}
} );
}
// This never gets called!
public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token )
{
m_kToken = token.Token;
Debug.Log( "Received Registration Token: " + token.Token );
}发布于 2019-06-08 03:15:43
刀片式服务器不是CTS兼容设备吗?这将不允许Firebase在其上工作,因为Firebase SDK需要设备启用Google Mobile Services (GMS)才能运行。
https://stackoverflow.com/questions/55903092
复制相似问题