我有一个具有多个产品样式的应用程序,它们共享同一个google-services.json文件。 我的问题是我检查了所有内容,并且实现正确,但是无法在我的应用中获取此类的回调
public class FirebaseTokenRegister extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.d("TAG", "Refreshed token: " + refreshedToken);
FirebaseMessaging.getInstance().subscribeToTopic("phoenix");
Logger.d(FirebaseInstanceId.getInstance().getToken());
Toast.makeText(Base.getContext(), refreshedToken, Toast.LENGTH_SHORT).show();
}
}
我也在清单中设置了此类
<service android:name=".model.firebase.FirebaseTokenRegister"
android:exported="true">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service android:name=".model.firebase.FireBaseMessageNotify"
android:exported="true">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
我已经一遍又一遍地检查了所有内容,但是方法onTokenRefresh()
无论如何都不叫。我尝试安装和卸载该应用程序。
现在,我怀疑这是否是实现共享相同google-services.json文件的产品风味的正确方法?
请帮助
答案 0 :(得分:1)
错误是我遇到
<application
android:name=".AppController"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="${appIcon}"
node="replace"
android:label="${flavored_app_name}"
android:supportsRtl="true"
android:theme="@style/AppTheme">
这在清单合并中引起了问题,因此在更改后得到解决。