Firebase多个应用程序风味未调用相同的google-services.json文件onTokenRefresh()

时间:2018-12-27 08:24:03

标签: android firebase android-studio firebase-cloud-messaging

我有一个具有多个产品样式的应用程序,它们共享同一个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文件的产品风味的正确方法?

请帮助

1 个答案:

答案 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">

这在清单合并中引起了问题,因此在更改后得到解决。